diff options
author | pommicket <leonardomtenenbaum@gmail.com> | 2016-07-01 17:43:58 -0400 |
---|---|---|
committer | pommicket <leonardomtenenbaum@gmail.com> | 2016-07-01 17:43:58 -0400 |
commit | be06edbcfd1213ea1658d36f8934493a92205aac (patch) | |
tree | 28dca6130833e3a770611961bc6559c08bed4161 /js/2d23d.js |
Created pommicket.github.io
Diffstat (limited to 'js/2d23d.js')
-rw-r--r-- | js/2d23d.js | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/js/2d23d.js b/js/2d23d.js new file mode 100644 index 0000000..c3ac565 --- /dev/null +++ b/js/2d23d.js @@ -0,0 +1,83 @@ +var angle = 0; +var state = 0; +var rotations = 0; +var waiting = false; +var iterations = 0; +var radius = 200; + +function checkRotations() +{ + if (rotations > 0) + { + rotations = 0; + angle = 0; + waiting = true; + } +} + +function setup() +{ + createCanvas(2 * radius + 100, 2 * radius + 100); + ellipseMode(CENTER); + rectMode(CENTER); + noFill(); + frameRate(100); +} + +function draw() +{ + if (waiting) + { + iterations++; + + if (iterations > 150) + { + iterations = 0; + waiting = false; + background(255, 255, 255); + state++; + } + return; + } + var ca = cos(angle) * radius + radius + 50; + var sa = sin(angle) * radius + radius + 50; + + angle += 0.1/6; + + if (angle > TWO_PI) + rotations++; + + checkRotations(); + + angle %= TWO_PI; + + if (state == 0) + ellipse(ca, sa, 50, 50); + + else if (state == 1) + rect(ca, sa, 50, 50); + + else if (state == 2) + triangle(ca, sa, ca+50, sa, ca, sa+50); + + + else if (state == 3) + triangle(ca, sa, ca+25, sa+25, ca, sa+50); + + + else if (state == 4) + ellipse(ca, sa, 100, 50); + + + else if (state == 5) + line(ca, sa, ca+50, sa); + + + else if (state == 6) + line(ca, sa, ca, sa+50); + + else if (state >= 7) + arc(ca, sa, 50, 50, 0, (HALF_PI + state) % TWO_PI); + + +}
\ No newline at end of file |