GALERIE    EN COURS    SCENES    MACROS    GUIDE    A PROPOS


"Funny Knot"



Cette courbe est définie par léquation suivante :
$$\begin{align} x &= -22cos(t) -128sin(t) - 44cos(3t) - 78sin(3t)\\y &= 11cos(t) - 43cos(3t) + 34cos(5t) - 39sin(5t)\\z &= 70cos(3t) - 40sin(3t) + 8cos(5t)- 9sin(5t)\\\\t &\in 0..2\pi\end{align}$$

Script :

#declare deuxpi = 2*pi;
#declare r = 0.50;

#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;
#declare step=pi/250;
#while (i < deuxpi)
  #set theColor = rgb CH2RGB(degrees(i));
  #set currentPt = 0.05*<
    - 22*cos(i) - 128*sin(i) - 44*cos(3*i) - 78*sin(3*i),
    11*cos(i) - 43*cos(3*i) + 34*cos(5*i) - 39*sin(5*i),
    70*cos(3*i) - 40*sin(3*i) + 8*cos(5*i)- 9*sin(5*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

-- Mêmes remarques que les courbes précédentes.

-- Coeficient de mise à l'échelle pour l'ensemble de la courbe : #set currentPt = 0.05*<...>.

On obtient alors l'image suivante :
Funny Knot