GALERIE    EN COURS    SCENES    MACROS    GUIDE    A PROPOS


L'hippopède d'Eudoxe



L'hippopède d'Eudoxe est l'intersection d'une sphère avec un cylindre de révolution tangent. C'est donc une courbe à la fois sphérique et cylindrique. Cette courbe est définie par l'équation suivante :
  • x = ((R-a).cos(t))-a
  • y = (R-a).sin(t)
  • z = 2.√(a.(R-a)).sin(t/2)
  • t = [0..4π]
  • 'R' le rayon de la sphère
  • 'a' la distance du centre O de la sphère à l'axe du cylindre avec 0 < a < R.


SDL POV :
#declare deuxpi = 2*pi;
#declare r = 0.15;

#declare R = 6;
#declare a = 4;

#declare currentPt = <0.00, 0.00, 0.00>;
#declare previousPt = <0.00, 0.00, 0.00>;
#declare theColor = rgb <0.00, 0.00, 0.00>;

#declare i=0.00;
#declare step=pi/250;
#while (i<=4*pi)
	#set theColor = rgb CH2RGB(degrees(i/2));
	
	#set currentPt =<((R-a)*cos(i))-a, 2*sqrt(a*(R-a))*sin(i*0.50), (R-a)*sin(i)> ;
	
	sphere { currentPt, r pigment { theColor } finish { courbeFinish } }
	#if(i!=0)
		cylinder { previousPt, currentPt, r pigment { theColor }  finish { courbeFinish } }
	#end
	#set previousPt = currentPt;
	#set i=i+step;
#end

sphere {
	<(a-R)-R, 0, 0>, R
	pigment { color White transmit 0.80 }
	finish { ambient 0.40 diffuse 0.60 brilliance 2 }
	}
	
cylinder {
	<-4, -8, 0> <-4, +8, 0>, 2
	pigment { color White transmit 0.80 }
	finish { ambient 0.40 diffuse 0.60 brilliance 2 }
	}
-- Mêmes remarques que les courbes précédentes.

-- Les variables R et a sont propres à cette courbe. Notez aussi que i (qui représente t) varie de 0 à 4.π, d'ou le :
#while (i<=4*pi).

-- La sphère et le cylindre sont apparaissent aussi en transparence dans cette scène.

On obtient alors l'image suivante :
hippopede d'eudoxe





Haut de la page | Sommaire ]