#### Howdy, Stranger!

We are about to switch to a new forum software. Until then we have removed the registration on this forum.

# Rotation cube problem

edited September 2017

Hey, I'm new at processing code and I'm doing a little code for the mouvement of a finger (the index). I'm doing it with the rotation of phalanges, remplaced by cube.

But I have a big problem, the third box 's rotation isn't what I want, I don't know how to explain it but here is my code. How to fix this and have a good mouvement of index ? Thanks for the help.

``````int a = 80;
int z = 0;
int e =50;
int r = 60;
float rot1;//rotation of cube_1
float rot2;//rotation of cube_2
float rot3;//rotation of cube_3

void setup() {
size(400, 400, P3D);
smooth();
}

void  draw() {
background(20, 50, 80);

//base
translate(width/4, height/4);
box(80, 50, 50);
pushMatrix();
// 1/2/3
translate(a, z);//1
rotateZ(rot1);
box(r, e, e);
translate(a, z);//2
rotateZ(rot2);
box(r, e, e);

translate(a, z);//3
rotateZ(rot3);
box(r, e, e);
popMatrix();

if  (keyPressed == true)
{
if (key =='a') {  //Rot1
rot1 = rot1 + 0.01;
} else if (key == 'z') {
rot1 = rot1 - 0.01;
}

if (key =='a') { //rot2
rot2 = rot2 + 0.01;
} else if (key == 'z') {
rot2 = rot2 - 0.01;
}

if (key =='a') { //rot3
rot3 = rot3 + 0.01;
} else if (key == 'z') {
rot3 = rot3 - 0.01;
}
}

if (rot1 > 1.5) {
rot1 = 1.5;
} else if (rot1 < -0.5) {
rot1 = -0.5;
}
if (rot2 > 1.0) {
rot2 =60;
} else if (rot2 < 0.0) {
rot2 = 0.0;
}
if (rot3 > 1.5) {
rot3 = 1.5;
} else
if (rot3 < 0) {
rot3 = 0;
}
println(rot3);
}
``````
Tagged: