function movedLeg(lOs, lUs, lFoot, rP, gamma, y0, y1, mode) { var xK_, yK_; var xP, yP; // Koordinaten der Pedale var xK, yK; // Koordinaten des Knies var c = 200; var dElli = 5; var alph, beta; // alph steht für alpha (alpha ist keyword in p5) push(); translate(xi0,yi0); // Verschieben des Koordinatensystems auf xi0, yi0 imageMode(CENTER); xP = rP*cos(gamma); yP = y0 + rP*sin(gamma); // Fuß image(Foot, xP*M, -(yP+0.15*lFoot)*M, lFoot*M, 0.3*lFoot*M); xP = xP -0.5*lFoot; // Korrektur des Schuhversatzes yP = yP + 0.15*lFoot; beta = acos((sq(y1-yP)+sq(lUs)-sq(lOs)+sq(xP))/(2*lUs*sqrt(sq(y1-yP)+sq(xP)))) - atan2(xP,y1-yP); xK = xP + lUs*sin(beta); yK = yP + lUs*cos(beta); // Unterschenkel push(); translate(xP*M, -(0.075*lFoot+yP)*M); //xP*M rotate(beta); translate(0, -0.5*lUs*M); image(Us, 0, 0, 0.3*lUs*M, 1.1*lUs*M); pop(); alph = asin(xK/lOs); // Oberschenkel fill(100); noStroke(); push(); translate(0, -y1*M); //xP*M rotate(-alph+PI); translate(0, -0.5*lOs*M); image(Os, 0, 0, 0.4*lOs*M, 1.0*lOs*M); pop(); pop(); }