//
// Conversione in P5.js di "Quasicrystals as sums of waves in the plane"
// http://mainisusuallyafunction.blogspot.it/2011/10/quasicrystals-as-sums-of-waves-in-plane.html
//
var dimPix = 0.4;
var numeroLivelli = 7;
var passoOrientamenti;
var xPixMax;
var yPixMax;
function setup()
{
createCanvas(400, 400);
//createCanvas(windowWidth, windowHeight);
pixelDensity(1);
background(0);
passoOrientamenti = PI / numeroLivelli;
xPixMax = width / 2;
yPixMax = height / 2;
loadPixels();
}
function draw()
{
var tempo = frameCount*0.1;
var iPix = 0;
for (var yPix = -yPixMax; yPix < yPixMax; yPix++)
{
var y = yPix*dimPix;
for (var xPix = -xPixMax; xPix < xPixMax; xPix++, iPix+=4)
{
var x = xPix*dimPix;
var orientamento = 0.0;
var seno;
var coseno;
var somma = 0;
for (var i = 0; i < numeroLivelli; i++) {
seno = sin(orientamento);
coseno = cos(orientamento);
somma += (atan( coseno*x + seno*y + tempo) + 1.0) / 2.0;
orientamento += passoOrientamenti;
}
var interoSomma = floor(somma);
var decimaliSomma = somma - interoSomma;
somma = (interoSomma % 2) == 0 ? decimaliSomma : 1.0 - decimaliSomma;
var grigio = somma*256;
pixels[iPix] = grigio;
pixels[iPix+1] = grigio;
pixels[iPix+2] = grigio;
}
}
updatePixels();
}
The image one the left shows the original code above the image on the right shows the code below
//
// Conversione in P5.js di "Quasicrystals as sums of waves in the plane"
// http://mainisusuallyafunction.blogspot.it/2011/10/quasicrystals-as-sums-of-waves-in-plane.html
//
float dimPix = 0.4;//.4
int numeroLivelli =7;//7
float passoOrientamenti;
int xPixMax;
int yPixMax;
void setup()
{
size(400, 400,P3D);
//createCanvas(windowWidth, windowHeight);
// pixelDensity(1);
background(0);
float passoOrientamenti = PI / numeroLivelli;
xPixMax = width / 2;
yPixMax = height / 2;
loadPixels();
all= width*height;
}
int all;
void draw()
{
float tempo = frameCount*0.1;
int iPix = 0;
for (int yPix = -yPixMax; yPix < yPixMax; yPix++)
{
float y = yPix*dimPix;
for (int xPix = -xPixMax; xPix < xPixMax; xPix++, iPix+=4)
{
float x = xPix*dimPix;
float orientamento = 0.0;
float seno;
float coseno;
float somma = 0;
for (int i = 0; i < numeroLivelli; i++) {
seno = sin(orientamento);
coseno = cos(orientamento);
somma += (atan( coseno*x + seno*y + tempo) + 1.0) / 2.0;
orientamento += passoOrientamenti;
}
float interoSomma = floor(somma);
float decimaliSomma = somma - interoSomma;
somma = (interoSomma % 2) == 0 ? decimaliSomma : 5 - decimaliSomma;//1.0
int grigio = int( somma*256);//256
int val = iPix/4;
// pixels[val] = grigio;
// if(val<all-1)pixels[val+1] = grigio;
pixels[iPix/4] = grigio;
//pixels[iPix+1] = grigio;
//pixels[iPix+2] = grigio;
}
}
updatePixels();
}
Can anyone see what is wrong with my conversion code?