1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
Xa=getCoord_debut().X;
Ya=getCoord_debut().Y;
Ya=getCoord_debut().Z;
Xb=getCoord_fin().X;
Yb=getCoord_fin().Y;
Zb=getCoord_fin().Z;
//je translate le repere au point A
glTranslatef(getCoord_debut().X,getCoord_debut().Y,getCoord_debut().Z);
//changement de coord. apres le changement de repere
Xb = R.getCoord_fin().X - R.getCoord_debut().X;
Yb = R.getCoord_fin().Y - R.getCoord_debut().Y;
Zb = R.getCoord_fin().Z - R.getCoord_debut().Z;
//calcul de rhô,tetha et phi
r = Math.sqrt((Xb*Xb)+(Yb*Yb)+(Zb*Zb));
if(Yb<= 0)
u=0;
else
u=1;
if (Xb<0)
sgn =-1;
else
sgn = 1;
//ici je ne sais pas exprimer que c'est a pi pres
tetha = Math.atan(Xb/Yb);//+((Math.PI)*u*sgn);
phi = Math.acos(Zb/r);
//rotation du repere
gl.glRotatef(tetha,0,0,1);
gl.glRotatef(-phi,0,1,0);
//puis dessin du cylindre
... |
Partager