La couture d'une balle de tennis |
|
Cette courbe est définie par l'équation suivante : $$\begin{align}x &= acos(t) + bcos(3t)\\y &= asin(t) - bsin(3t)\\z &= csin(2t)\end{align}$$
La sphère (balle) a son centre en \( <0, 0, 0> \), son rayon \( d = a+b \) avec \( c = 2\sqrt{ab} \)Script : #declare deuxpi = 2*pi; #declare r = 0.15; #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 a = 3; #declare b = 2; #declare c = 2*sqrt(a*b); #declare i=0; #declare step=pi/250; #while (i < deuxpi) #set theColor = rgb CH2RGB(degrees(i)); #set currentPt = < a*cos(i)+b*cos(3*i), a*sin(i)-b*sin(3*i), c*sin(2*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 { <0, 0, 0>, a+b pigment { color White transmit 0.70 } finish { ambient 0.40 diffuse 0.60 brilliance 2 } }-- Mêmes remarques que la courbe précédente. -- On dessine après la courbe, la sphère qui représente la balle. Cette sphère a son origine en <0, 0, 0> et son rayon égal à a+b. L'attribut transmit 0.70 est ajouté à la couleur pour rendre celle-ci transparente et laisser passer 70% de la lumière. On obtient alors l'image suivante : | |
![]() |