float initx = 0f, x;
float r = 0.8;
int time = 100;
float[] graphData = new float[time];
//we want a line from the first to the second point, second the third point etc
//so we need to remember the position of the last point
//Here's our vars for that
float gx,gy,lastx,lasty;
void setup() {
size(800,500, P3D);
noFill();
stroke(255);
}
void draw() {
if (initx >=0 && initx<=1) {
fill(0,40);
rect(0,0,width, height);
//background(0);
//add the new x to the array we're using to draw - we already have the first value from setup
//give it 5 values for x
//graphData = getData();
setData();
//Draw the next map based on our point in time
for (int n = 0; n < time; n++) {
lastx = gx;
lasty = gy;
gx = float(n)*(width/float(time));
//height - : so that 0 appears at the bottom of the graph
gy = height- (graphData[n]*height);
stroke(255);
ellipse(gx, gy, 5,5);
//if n > 0, draw lines between this point and the last one
if (n > 0) {
stroke(100);
line(lastx, lasty, gx, gy);
}
}// end for n loop
}//end if...
}
void setData() {
x = initx;
//set the first value of the graph...
graphData[0] = initx;
for (int t = 1; t < time; t++) {
//update x
x = 4 * r * x * (1 - x);
//stick into array
graphData[t] = x;
}//end for loop
//if (initx > 1) {
//initx = 0.6;
//r = r + 0.0003;
initx = initx + 0.001;
//} else initx = initx + 0.125;
}
Recent comments
27 weeks 6 days ago
27 weeks 6 days ago
28 weeks 8 hours ago
28 weeks 1 day ago
32 weeks 4 days ago
34 weeks 5 days ago
34 weeks 5 days ago
34 weeks 5 days ago
34 weeks 6 days ago
36 weeks 2 days ago