Primat (code)

Primat from Armando Rodriguez on Vimeo.

By ArmyRdz

More: armyrdz.com

//download library    http://leebyron.com/mesh/

import megamu.mesh.*;
int sizePoints = 2636;
float[][] points = new float[sizePoints][2];
float[] pointsNoise = new float[sizePoints * 2];
float angulo = 0;
float defase = 0;

void setup() {
size(1920, 1280);
background(255);
colorMode(HSB, 255, 255, 255);
strokeWeight(0.1);
for (int i = 0; i < sizePoints * 2; i++) {
pointsNoise[i] = random(-35, 35);
}
}

void draw() {
background(255);
voro();
}

void voro() {
int n = 0;
angulo = 0;
for (int i = 0; i < sizePoints; i++) {
for (int j =0; j<2; j++) {
if (j == 1) {
points[i][j] = (sin(radians(angulo * 2))* 400) + pointsNoise[n] + height/2;
n++;
} else {
points[i][j] = (cos(sin(radians(angulo * 3)+defase)) * 500) + pointsNoise[n] + width/3;
n++;
}
}
angulo+=1;
}

Voronoi myVoronoi = new Voronoi( points );

MPolygon[] myRegions = myVoronoi.getRegions();

for (int i=0; i<myRegions.length; i++)
{
// an array of points
float[][] regionCoordinates = myRegions[i].getCoords();

// fill(random(255), 200, 200);
noFill();
if (i % 3 == 0) {
fill(0, 180);
}
myRegions[i].draw(this); // draw this shape
}

 

float[][] myEdges = myVoronoi.getEdges();

for (int i=0; i<myEdges.length; i++)
{
float startX = myEdges[i][0];
float startY = myEdges[i][1];
float endX = myEdges[i][2];
float endY = myEdges[i][3];
line( startX, startY, endX, endY );
}
defase += 0.01;
saveFrame(“shader-######.png”);
}

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s