• fullscreen
  • Taijitututu.pde
  • float maxScale, midScale, minScale, deSpeed;
    
    void setup()
    {
      //size(screen.width, screen.height);
      size(666, 666);
      frameRate(25);
      smooth();
      colorMode(HSB, 1);
      noStroke();
      maxScale = min(width,height)-min(width,height)/5;
      midScale = maxScale/2-maxScale/60;
      minScale = midScale/2-maxScale/60;
      deSpeed = 100;
    }
    
    void draw()
    { 
      background(0,0,.5);
      translate(width/2, height/2);
      rotate(float(frameCount)/deSpeed);
      trace(maxScale);
      pushMatrix();
      translate(maxScale/4,0);
      rotate(float(frameCount)/deSpeed);
      trace(midScale);
      pushMatrix();
      translate(maxScale/8-maxScale/240,0);
      rotate(float(frameCount)/deSpeed);
      trace(minScale);
      popMatrix();
      translate(-maxScale/8+maxScale/240,0);
      rotate(float(frameCount)/deSpeed);
      trace(minScale);
      popMatrix();
      translate(-maxScale/4,0);
      rotate(float(frameCount)/deSpeed);
      trace(midScale);
      pushMatrix();
      translate(maxScale/8-maxScale/240,0);
      rotate(float(frameCount)/deSpeed);
      trace(minScale);
      popMatrix();
      translate(-maxScale/8+maxScale/240,0);
      rotate(float(frameCount)/deSpeed);
      trace(minScale);
    }
    
    void trace(float scaleYY) {
      demi(scaleYY,1);
      rotate(PI);
      demi(scaleYY,0);
    }
    
    void demi(float scaleYY,float bbb) {
      fill(0,0,bbb);
      beginShape();
      vertex(-scaleYY/2, 0);
      bezierVertex(-scaleYY/2, -scaleYY/3.6, -scaleYY/3.6, -scaleYY/2, 0, -scaleYY/2);
      bezierVertex(+scaleYY/3.6, -scaleYY/2, +scaleYY/2, -scaleYY/3.6, +scaleYY/2, 0);
      bezierVertex(+scaleYY/2, +scaleYY/7.2, +scaleYY/4+scaleYY/7.2, +scaleYY/4, +scaleYY/4, +scaleYY/4);
      bezierVertex(+scaleYY/4-scaleYY/7.2, +scaleYY/4, 0, +scaleYY/7.2, 0, 0);
      bezierVertex(0, -scaleYY/7.2, -scaleYY/4+scaleYY/7.2, -scaleYY/4, -scaleYY/4, -scaleYY/4);
      bezierVertex(-scaleYY/4-scaleYY/7.2, -scaleYY/4, -scaleYY/2, -scaleYY/7.2, -scaleYY/2, 0);
      endShape(CLOSE);
    }
    
    
    
    
    
    
    
    
    

    code

    tweaks (0)

    about this sketch

    This sketch is running as Java applet, exported from Processing.

    license

    advertisement

    Guigui plus+

    Taijitututu

    Add to Faves Me Likey@! 7
    You must login/register to add this sketch to your favorites.

    Watch it intensely, forget everything, be aware, enjoy! 8^)

    tim stutts
    14 Feb 2009
    this has a really interesting effect! i tried something similar, though not as stylized. have you seen this http://www.openprocessing.org/visuals/?visualID=150
    syump
    20 Apr 2009
    what did i mean to comment???
    Kit Plehanov
    4 Aug 2009
    yeah! sin(white) + cos(black) = infernal love!
    rupert russell
    8 Nov 2011
    Thanks for your design, I have used a variation on this code to create an iPhone case design at RedBublle see http://www.redbubble.com/people/rupertrussell/works/8031374-taijitututu
    You need to login/register to comment.