mirror of
https://github.com/dyne/FreeJ.git
synced 2026-02-09 06:19:20 +01:00
processing-js 0.4 has been merged in some relevant parts basic and topic scripts added for test color handling fixed, more scripts show up now
36 lines
683 B
Plaintext
36 lines
683 B
Plaintext
float[] x = new float[20];
|
|
float[] y = new float[20];
|
|
float segLength = 9;
|
|
|
|
void setup() {
|
|
size(200, 200);
|
|
smooth();
|
|
strokeWeight(5);
|
|
stroke(0, 100);
|
|
}
|
|
|
|
void draw() {
|
|
background(226);
|
|
dragSegment(0, mouseX, mouseY);
|
|
for(int i=0; i<x.length-1; i++) {
|
|
dragSegment(i+1, x[i], y[i]);
|
|
}
|
|
}
|
|
|
|
void dragSegment(int i, float xin, float yin) {
|
|
float dx = xin - x[i];
|
|
float dy = yin - y[i];
|
|
float angle = atan2(dy, dx);
|
|
x[i] = xin - cos(angle) * segLength;
|
|
y[i] = yin - sin(angle) * segLength;
|
|
segment(x[i], y[i], angle);
|
|
}
|
|
|
|
void segment(float x, float y, float a) {
|
|
pushMatrix();
|
|
translate(x, y);
|
|
rotate(a);
|
|
line(0, 0, segLength, 0);
|
|
popMatrix();
|
|
}
|