topical media & game development

talk show tell print

graphic-processing-site-examples-Basics-Transform-Arm-Arm.pde / pde



  
Arm. The angle of each segment is controlled with the mouseX and mouseY position. The transformations applied to the first segment are also applied to the second segment because they are inside the same pushMatrix() and popMatrix() group.

  
  
  float x = 50;
  float y = 100;
  float angle1 = 0.0;
  float angle2 = 0.0;
  float segLength = 50;
  
  void setup() {
    size(200, 200);
    smooth(); 
    strokeWeight(20.0);
    stroke(0, 100);
  }
  
  void draw() {
    background(226);
    
    angle1 = (mouseX/float(width) - 0.5) * -PI;
    angle2 = (mouseY/float(height) - 0.5) * PI;
    
    pushMatrix();
    segment(x, y, angle1); 
    segment(segLength, 0, angle2);
    popMatrix();
  }
  
  void segment(float x, float y, float a) {
    translate(x, y);
    rotate(a);
    line(0, 0, segLength, 0);
  }
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.