Accueil Carrara : Index 

 

L'éditeur de formules de Carrara Studio - Page 33

Courbes planes et couleurs (suite 1)

0 - Rappels :

Fonction atan2

theta = atan2(y,x) signifie :

si x > 0 alors
    theta = arctan(y/x)

si x < 0 alors
   theta = arctan(y/x) - PI

si x = 0 alors
   si y > 0 alors theta = PI/2
   si y < 0 alors theta = -PI/2
   si y = 0 alors theta est indérerminé


Courbes définies par une équation polaire de la forme r = f(t)

Le point courant du plan a pour coordonnées (p,q).

La courbe (C) a pour équation polaire r = f(t) où t est l'angle polaire (t = atan2(q,p) donc -PI <= t <= PI).

La courbe (C) a pour paramétrisation cartésienne (x = r*cos(t) , y = r*sin(t)).

Structure du programme

La courbe, tracée en rouge, a pour épaisseur 2*e. Elle peut être tracée en tant que "formule fond" ou en tant que "formule texture" (sur un plan ou autre objet).

e=0.005;
pmin=
pmax=
qmin=
qmax=
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;

Courbes définies par une équation cartésienne de la forme f(p,q) = 0

Le point courant du plan a pour coordonnées (p,q).

La courbe (C) a pour équation f(p,q) = 0

Structure du programme

La courbe, tracée en rouge, a pour épaisseur 2*e. Elle peut être tracée en tant que "formule fond" ou en tant que "formule texture" (sur un plan ou autre objet).

e=0.005;
pmin=
pmax=
qmin=
qmax=
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
red=abs(f(p,q))<e;
blue=0;
green=0;

1 : Courbes en coordonnées polaires

11 :

Formule fond (ou texture) Rendu
m=20;
pmin=-1.5;pmax=1.5;
qmin=-1.5;qmax=1.5;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=1;
e=0.02*cos(m*t)+0.02;
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane11.jpg

12 : Cardioïde

Formule fond (ou texture) Rendu
e=0.01;
pmin=-0.5;pmax=2.5;
qmin=-1.5;qmax=1.5;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=1+cos(t);
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane12.jpg

13 : Rosaces d'équation r = abs(cos(n*t))

132 :

Formule fond (ou texture) Rendu
e=0.05;n=2;
pmin=-1.2;pmax=1.2;
qmin=-1.2;qmax=1.2;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=abs(cos(n*t));
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane132.jpg

133 :

Formule fond (ou texture) Rendu
e=0.05;n=3;
pmin=-1.2;pmax=1.2;
qmin=-1.2;qmax=1.2;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=abs(cos(n*t));
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane133.jpg

136 :

Formule fond (ou texture) Rendu
e=0.05;n=6;
pmin=-1.2;pmax=1.2;
qmin=-1.2;qmax=1.2;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=abs(cos(n*t));
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane136.jpg

14 : Rosaces d'équation r = abs(cos(n*t)) avec e = 0.05*abs(sin(m*t))+0.05

142 :

Formule fond (ou texture) Rendu
m=100;n=2;
pmin=-1.2;pmax=1.2;
qmin=-1.2;qmax=1.2;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=abs(cos(n*t));
e=0.05*abs(sin(m*t))+0.05;
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane142.jpg

143 :

Formule fond (ou texture) Rendu
m=100;n=3;
pmin=-1.2;pmax=1.2;
qmin=-1.2;qmax=1.2;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=abs(cos(n*t));
e=0.05*abs(sin(m*t))+0.05;
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane143.jpg

146 :

Formule fond (ou texture) Rendu
m=100;n=6;
pmin=-1.2;pmax=1.2;
qmin=-1.2;qmax=1.2;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=abs(cos(n*t));
e=0.05*abs(sin(m*t))+0.05;
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane146.jpg

15 : r = abs(cos(n*t+2*cosh(n*t)));

Formule fond (ou texture) Rendu
e=0.05;n=7;
pmin=-1.2;pmax=1.2;
qmin=-1.2;qmax=1.2;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=abs(cos(n*t+2*cosh(n*t)));
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane15.jpg

16 : r = cos(n*t+PI*cos(exp(n*t)));

Formule fond (ou texture) Rendu
e=0.05;n=7;
pmin=-1.2;pmax=1.2;
qmin=-1.2;qmax=1.2;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=cos(n*t+PI*cos(exp(n*t)));
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane16.jpg

17 : Rosaces d'équation r = 1/(2+cos(n*t))

171 :

Formule fond (ou texture) Rendu
n=3;
pmin=-1.2;pmax=1.2;
qmin=-1.2;qmax=1.2;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=1/(1+abs(cos(n*t)));
e=0.02;
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane171.jpg

174 :

Formule fond (ou texture) Rendu
n=8;
pmin=-1.2;pmax=1.2;
qmin=-1.2;qmax=1.2;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=1/(1+abs(cos(n*t)));
e=0.02;
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane174.jpg

18 : Voir Paul Bourke

181 :

Formule fond (ou texture) Rendu
e=0.1;n=5;
pmin=-10;pmax=10;
qmin=-5;qmax=15;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=5*(1+sin(t))-4*sin(2*t)*sin(2*cos(n*t)-2*t);
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane181.jpg

182 :

Formule fond (ou texture) Rendu
e=0.1;n=10;
pmin=-10;pmax=10;
qmin=-5;qmax=15;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=5*(1+sin(t))-4*sin(2*t)*sin(2*cos(n*t)-2*t);
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane182.jpg

183 :

Formule fond (ou texture) Rendu
e=0.2;n=50;
pmin=-10;pmax=10;
qmin=-5;qmax=15;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=5*(1+sin(t))-4*sin(2*t)*sin(2*cos(n*t)-2*t);
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane183.jpg

184 :

Formule fond (ou texture) Rendu
e=0.2;n=80;
pmin=-10;pmax=10;
qmin=-5;qmax=15;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r=5*(1+sin(t))-4*sin(2*t)*sin(2*cos(n*t)-2*t);
x=r*cos(t);
y=r*sin(t);
red=(abs(x-p)<e)&&(abs(y-q)<e);
blue=0;
green=0;
33courbeplane184.jpg

19 : Plusieurs courbes

Formule fond (ou texture) Rendu

e=0.02;
pmin=-2.5;pmax=2.5;
qmin=-2.5;qmax=2.5;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
r11=1+cos(t);
r12=1+cos(PI-t);
r2=2*abs(cos(2*t));
r3=1/(1+abs(cos(4*t)));
x11=r11*cos(t);
y11=r11*sin(t);
x12=r12*cos(t);
y12=r12*sin(t);
x2=r2*cos(t);
y2=r2*sin(t);
x3=r3*cos(t);
y3=r3*sin(t);
red=((abs(x11-p)<e)&&(abs(y11-q)<e))||((abs(x12-p)<e)&&(abs(y12-q)<e));
blue=(abs(x2-p)<e)&&(abs(y2-q)<e);
green=(abs(x3-p)<e)&&(abs(y3-q)<e);

33courbeplane19.jpg

2 : Courbes de la forme f(p,q) = 0

21 :

Formule fond (ou texture) Rendu

m=20;
a=0.8;b=0.5;
pmin=-1;pmax=1;
qmin=-1;qmax=1;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
t=atan2(q,p);
e=0.02*cos(m*t)+0.02;
red=abs(pow(p,2)/pow(a,2)+pow(q,2)/pow(b,2)-1)<e;
blue=0;
green=0;

33courbeplane21.jpg

22 :

Formule fond (ou texture) Rendu

e=0.1;
pmin=-2*PI;pmax=2*PI;
qmin=-2*PI;qmax=2*PI;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
expr=q*cos(q)-sin(pow(p,2)+atan(abs(p)))*cos(p);
green=(q>PI)&&(abs(expr)<e);
blue=(q<-PI)&&(abs(expr)<e);
red=(q>=-PI)&&(q<=PI)&&(abs(expr)<e);

33courbeplane22.jpg

23 : Plusieurs courbes

Formule fond (ou texture) Rendu
e=0.01;
pmin=-1.5;pmax=1.5;
qmin=-1.5;qmax=1.5;
p=(pmax-pmin)*u+pmin;
q=(qmax-qmin)*v+qmin;
red=abs(q*q+p*p-1)<e;
blue=abs(q-p*p/(1+p*p))<e;
green=abs(q+p*p/(1+p*p))<e;
33courbeplane23.jpg