Bonjour tomart2005,
D'un point de vue mathématique une sphère de centre x0,y0,z0 et de rayon R est l'ensemble des points satisfaisant la formule:
(x-x0)²+(y-y0)²+(z-z0)²=R² Par compte comme je suppose que tu n'as pas d'écran tridimensionnel, tu va devoir afficher non pas la sphère mais une projection de celle si sur un plan (2D). Pour afficher tes points tu vas devoir faire un maillage de ta sphère et dans ce cas il serait préférable d'utiliser les coordonnées polaires R,Theta,Phi avec: R=constante Theta ("latitude") compris entre -pi/2 et +pi/2 Phi ("longitude") compris entre 0 et 2.pi
Pour convertir tu auras: x=x0+R.cos(Theta).cos(Phi) y=y0+R.cos(Theta).sin(Phi) z=z0+R.sin(Theta)
Inversement si x,y,z sont sur la sphère: R²=(x-x0)²+(y-y0)²+(z-z0)² Theta=arcsin((z-z0)/R) Phi=arccos((x-x0)/(R.cos(Theta))) ou Phi=-arccos((x-x0)/(R.cos(Theta))) Phi=arcsin((y-y0)/(R.cos(Theta))) ou Phi=pi-arcsin((y-y0)/(R.cos(Theta))) Une seule solution est possible : le calcul à partir des x te donne deux solutions le calcul à partir des y te donne deux autres solutions dont une commune avec celles des x.
A+
|