xxxxxxxxxx
132
var xoff = 0;
var increment = 0.1;
var points = 200;
var deltaAngle;
var incP = 0;
var startAngle;
var endAngle;
var petalHeight = 1;
var vR = 255;
var vG = 255;
var vB = 255;
var counter = 0;
var video;
var vScale = 20;
function setup() {
createCanvas(600, 600);
video = createCapture(VIDEO);
// Scaling video to vScale
video.size(width / vScale, height / vScale);
// video.hide();
background(51);
angle = Math.PI * 2 / points;
stroke(255);
strokeWeight(1);
// translate(width / 2, height / 2);
// for (var a = 0; a < 2 * PI; a += deltaAngle) {
// var n = noise(xoff)
// var r = map(n, 0, 1, 50, 125);
// var x = r * cos(a);
// var y = r * sin(a);
// xoff += increment;
// line(0, 0, x, y);
// }
incP = random(10, 100);
startAngle = random(2 * PI);
endAngle = random(2 * PI);
}
function draw() {
// background(51);
if (counter < 30) {
if (incP > 0) {
stroke(vR, vG, vB);
// console.log(vR);
drawPetal(startAngle, endAngle, incP);
// setInterval(drawPetal(startAngle, endAngle, incP), 100);
// idletime = millis() + 50;
// while (idletime > millis()) {}
incP--;
} else {
// random for now, will change through sensor
incP = random(10, 100);
startAngle = random(2 * PI);
endAngle = random(2 * PI);
petalHeight = random(0.2, 2.5);
increment = random(0.01, 0.2);
counter++;
getColors();
}
}
// setInterval (beginPetal, 2000);
// idletime = millis() + 1000; //wait for 1 second
// while (idletime > millis()) {}
}
function drawPetal(start, end, incrementPetal) {
var deltaAngle = PI / points;
translate(width / 2, height / 2);
var angle = start + (deltaAngle * incrementPetal);
var n = noise(xoff)
var r = map(n, 0, 1, 50, 125);
var x = r * cos(angle) * petalHeight;
var y = r * sin(angle) * petalHeight;
xoff += increment;
line(0, 0, x, y);
}
function getColors() {
video.loadPixels();
// let index = (video.width - 50 - 1 + 200 * video.width) * 4;
// vR = video.pixels[index + 0];
// vG = video.pixels[index + 1];
// vB = video.pixels[index + 2];
// console.log(vR);
// console.log(video.pixels[index + 0]);
// console.log(vR);
for (let y = 0; y < video.height; y++) {
for (let x = 0; x < video.width; x++) {
// Captures reverse pixel
let index = (video.width - x - 1 + (y * video.width)) * 4;
vR = video.pixels[index + 0];
vG = video.pixels[index + 1];
vB = video.pixels[index + 2];
// console.log(vR);
// // Calculates brightness
// let bright = (r + g + b) / 3;
// // Determines if pixels should be white or black
// if (bright > (255 / 2)) {
// fill(255);
// } else {
// fill(0);
// }
// // Draws 20x20 pixels
// rect(x * vScale, y * vScale, vScale, vScale);
}
}
}