GALERIE    EN COURS    SCENES    MACROS    GUIDE    A PROPOS


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 :
balle de tennis