Accueil Carrara : Index 

 

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

Résolutions graphiques d'inéquations

A - 1 - Méthode

Résoudre graphiquement une inéquation en Carrara Studion, cela revient à définir un fond (ou une texture sur un plan) 

Le couple (u , v) définit un point sur le fond. (0 , 0) pour le point en bas à gauche. (1 , 1) pour le point en haut à droite. 

On peut associer à chaque point (u , v) du fond une valeur pour chacune des couleurs rouge, vert et bleu. 

A - 1 - 0 - Exemple 

Soit  à résoudre graphiquement l'inéquation x^2 + y^2 < 9 . 

L'ensemble solution est l'intérieur du cercle d'équation x^2 + y^2 = 9. Nous visualiserons cet ensemble solution en le coloriant en rouge et en laissant en noir le reste du fond.  

Le cercle en question a pour centre l'origine (0 , 0) du repère Oxy et a pour rayon 3. 

Sur ce cercle, l'abscisse x varie de -3 à 3. De même l'ordonnée y varie de -3 à 3. 

On représentera pour x variant de xmin = -3.5 à xmax = 3.5 et pour y variant de ymin = -3.5 à ymax = 3.5 (3.5 au lieu de 3 pour mieux "aérer" la figure). 

Or le fond est défini par les coordonnées (u , v) , u et v variant de 0 à 1. 

Le changement de variables suivant permet de réduire le cercle de façon à le tracer sur le fond. 

x=(xmax-xmin)*u+xmin
y=(ymax-ymin)*v+ymin

où u et v varient de 0 à 1 

D'où le programme : 

xmin=-3.5;xmax=3.5;
ymin=-3.5;ymax=3.5;
x=(xmax-xmin)*u+xmin
;
y=(ymax-ymin)*v+ymin;
red=(x*x+y*y<9?1:0);
green=0;
blue=0;

Si l'on veut que notre disque ait l'air d'un disque, il faudra que les proportions largeur/Longueur du fond soient égales à (ymax-ymin)/(xmax-xmin), 

donc on modifiera éventuellement les dimensions du fond. Sinon notre cercle aura l'air d'une ellipse. (Problème de repère orthonormal ou non). 

Voila le résultat : (On a rappelé le système à gauche)  

xmin=-3.5;xmax=3.5;
ymin=-3.5;ymax=3.5;
x=(xmax-xmin)*u+xmin
;
y=(ymax-ymin)*v+ymin;
red=(x*x+y*y<9?1:0);
green=0;
blue=0;

A - 1 - 1 - Inéquations de la forme y < f(x)  

Soit une inéquation de la forme y < f(x). On obtiendra, en tenant compte de ce qui a été dit dans le paragraphe 0,  un système de la forme : 

x=(xmax-xmin)*u+xmin;
y=(ymax-ymin)*v+ymin;
red=(y<f(x)?1:0);
green=0;
blue=0;

Même méthode pour y <= f(x) , y > f(x)  , y >= f(x)    

A - 1 - 2 - Inéquations de la forme F(x , y) < 0 

Soit une inéquation de la forme F(x , y) < 0. On obtiendra, en tenant compte de ce qui a été dit dans le paragraphe 0,  un système de la forme : 

x=(xmax-xmin)*u+xmin;
y=(ymax-ymin)*v+ymin;
red=(F(x,y)<0?1:0);
green=0;
blue=0;

Même méthode pour F(x , y) <= 0 , F(x , y) > 0 , F(x , y) >= 0 

A - 2 - Exemples

A - 2 - 1 - Exemple 

On peut tracer une couronne : 8.8 <= x^2 + y^2 <= 9.2 

xmin=-3.5;xmax=3.5;
ymin=-3.5;ymax=3.5;
x=(xmax-xmin)*u+xmin;
y=(ymax-ymin)*v+ymin;
r=x*x+y*y;
red=(r>=8.8&&r<=9.2?1:0);
green=0;
blue=0;

A - 2 - 2 - Exemple 

Domaine compris entre deux sinusoïdes : -cos(x) <= y <= cos(x) 

xmin=-2*PI;xmax=2*PI;
ymin=-1.5;ymax=1.5;
x=(xmax-xmin)*u+xmin;
y=(ymax-ymin)*v+ymin;
red=(abs(y)<=abs(cos(x))?1:0);
green=0;
blue=0;

A - 2 - 3 - Exemple 

L'intérieur d'une lemniscate  : x^4 < a^2 (x^2 - y^2) 

a=1;
x=2*a*(2*u-1);
y=a*(2*v-1);
red=0;
green=0;
blue=(pow(x,4)-a*a*(x*x-y*y)<0?1:0);

A - 2 - 4 - Exemple 

Deux intérieurs de lemniscates (vert et bleu) et l'intérieur d'un cercle (rouge). Les intersections sont roses et jaunes. 

x=2*(2*u-1);
y=2*(2*v-1);
red=(x*x+y*y<0.75?1:0);
green=(pow(y,4)-y*y+x*x<0?1:0);
blue=(pow(x,4)-x*x+y*y<0?1:0);

A - 2 - 5 - Exemple 

Une courbe de Lissajous

x=3*(u-0.5);
y=3*(v-0.5);
expr=x*x*pow(4*x*x-3,2)+4*y*y*(y*y-1);
red=(expr>-0.08&&expr<0.08?1:0);
green=0;
blue=0;

A - 2 - 6 - Exemple 

Réunion de deux disques

x=7*u-3.5;
y=7*v-3.5;
cond1=((x-2)*(x-2)+y*y-1<0);
cond2=((x+2)*(x+2)+y*y-1<0);
red=(cond1||cond2?1:0);
green=0;
blue=0;

A - 2 - 7 - Exemple 

Trois trèfles à quatre feuilles 

a=8;b=5;c=3;
x=a*(2*u-1);
y=a*(2*v-1);
r=x*x+y*y;
r1=x*x*y*y;
e1=pow(r,3)-4*a*a*r1;
e2=pow(r,3)-4*b*b*r1;
e3=pow(r,3)-4*c*c*r1;
red=(e1<0?abs(cos(e1)):0);
green=(e2<0?abs(cos(e2)):0);
blue=(e3<0?abs(cos(e3)):0);

A - 2 - 8 - Exemple 

Trois astroïdes 

a=100;
x=1.2*a*(2*u-1);
y=1.2*a*(2*v-1);
e1=pow(x*x,1/3)+pow(y*y,1/3)-pow(a*a,1/3);
e2=pow(x*x,1/3)+pow(y*y,1/3)-pow((a/2)*(a/2),1/3);
e3=pow(x*x,1/3)+pow(y*y,1/3)-pow((a/4)*(a/4),1/3);
red=(e1<0?abs(cos(e1)):0);
green=(e2<0?abs(cos(e2)):0);
blue=(e3<0?abs(cos(e3)):0);

A - 2 - 9 - Exemple 

a=4;b=a*sqrt(2);c=a/2;m=3;n=5;s=8;
x=1.2*a*(2*u-1);
y=1.2*a*(2*v-1);
r=x*x+y*y;
e1=pow(x*x,1/3)+pow(y*y,1/3)-pow(a*a,1/3);
e2=abs(x)+abs(y)+abs(x-y)+abs(x+y)-b;
e3=pow(r,3)-4*pow(c*x*y,2);
red=(e1<0?abs(cos(m*e1)):0);
blue=(e2<0?abs(cos(n*e2)):0);
green=(e3<0?abs(cos(s*e3)):0);