Colorfull "spring" prism

Triangle - colorfull "spring" prism

by schrodingers

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/processing.js/1.4.15/processing.js"></script>
<canvas></canvas>

CSS

body {
    overflow: hidden;
    margin: 0;
    padding: 0;
}
</style> <script type="text/javascript"> window.addEventListener('load', function() {
    var scripts=document.body.getElementsByTagName('script');
    var canvases=document.body.getElementsByTagName('canvas');
    new Processing(canvases[0], scripts[0].text);
}
, false);
 // Here prevent javascript in body from throwing error </script> <style>

JavaScript

color[] Spring = {#ff6699, #ff9900, #ffcc00, #9adb1b, #00cc66, #00cccc, #00ccff, #6633cc, #ff66cc}; 
float offset = 50;
float radius = 25;

void polygon(int sideNum, float radius) {
  float theta = 0;
  float x = 0;
  float y = 0; 
  beginShape();
  for (int i=0; i<sideNum; i++) {
    x = cos(theta) * radius;
    y = sin(theta) * radius;
    vertex(x, y);
    theta += radians(360)/sideNum;
  }
  endShape();
}

void setup() {
  size(800, 500);
  background(35);
  smooth();
  noStroke();
  colorMode(HSB);
}

void draw() {
 pushMatrix();
  translate(width/2, height/2);
    for(int i=0;i<9;i++){
    for(int j=0; j<9-i; j++){
      fill(Spring[i]);
     rotate(radians(180));
      triangle(
        i+j, i,
               30+15*i + 30*j, 25*i,
               15+15*i + 30*j, 25+25*i
      );
    }
}
 rotate(radians(90));
  fill(210);
  triangle = new polygon(3, 50);
  popMatrix();
  }