Exemples de surfaces et leurs projections

Publié par


  • mémoire


Exemples de surfaces et leurs projections On traite les différents exemples du texte. > with(plots): Exemple 1 : un triangle On reprend le polynôme de la figure 1 > p:=(z^2-x+x^2-(1-x)*y+y^2)^2-(x-x^2)*((1-x)*y-y^2); := p ?( )? + ? +z2 x x2 ( )?1 x y y2 2 ( )?x x2 ( )?( )?1 x y y2 > implicitplot3d(p,x=-0.1..1.1,y=-0.1..1.1,z=-0.72..0.72,axes=b oxed); 0 0.2 0.4 0.6 0.8 1 x 0 0.2 0.4 0.6 0.8 1 y –0.6 –0.4 –0.2 0 0.2 0.4 0.6 Visiblement le découpage par défaut de impliciteplot3d, 10x10x10, est nettement insuffisant.

  • cercle de centre ?

  • joli dessin de la page

  • découpage par défaut de impliciteplot3d

  • prix en taille mémoire


Publié le : mardi 19 juin 2012
Lecture(s) : 10
Tags :
Source : math.unice.fr
Nombre de pages : 10
Voir plus Voir moins
Exemples de surfaces et leurs projections
On traite les différents exemples du texte.
>
with(plots):
Exemple 1 : un triangle
On reprend le polynôme de la figure 1
>
p:=(z^2-x+x^2-(1-x)*y+y^2)^2-(x-x^2)*((1-x)*y-y^2);
:=
p
-
(
)
-
+
-
+
z
2
x
x
2
(
)
-
1
x y
y
2
2
(
)
-
x
x
2
(
)
-
(
)
-
1
x y
y
2
>
implicitplot3d(p,x=-0.1..1.1,y=-0.1..1.1,z=-0.72..0.72,axes=b
oxed);
0
0.2
0.4
0.6
0.8
1
x
0
0.2
0.4
0.6
0.8
1
y
–0.6
–0.4
–0.2
0
0.2
0.4
0.6
Visiblement le découpage par défaut de impliciteplot3d, 10x10x10, est nettement insuffisant.
On augmente la grille à 20x20x20
>
implicitplot3d(p,x=-0.1..1.1,y=-0.1..1.1,z=-0.72..0.72,grid=[
20,20,20],axes=boxed);
0
0.2
0.4
0.6
0.8
1
x
0
0.2
0.4
0.6
0.8
1
y
–0.5
0
0.5
C’est mieux, on peut essayer d’augmenter encore en payant le prix en taille mémoire et temps
de calcul.
>
implicitplot3d(p,x=-0.1..1.1,y=-0.1..1.1,z=-0.72..0.72,grid=[
30,30,30],axes=boxed);
0
0.2
0.4
0.6
0.8
1
x
0
0.2
0.4
0.6
0.8
1
y
–0.6
–0.4
–0.2
0
0.2
0.4
0.6
Même en raffinant le maillage, haut et bas de la surface ne se rejoignent pas. Décidement les
graphiques implicites ne sont pas excellents.
On stocke le dernier pour lui rajouter des éléments.
>
D1:=implicitplot3d(p,x=-0.1..1.1,y=-0.1..1.1,z=-0.72..0.72,gr
id=[30,30,30],axes=boxed):
Ils ont "triché"
pour obtenir le joli dessin de la page 5 : ils ont rajouté sur la surface
les courbes qui se projettent sur les côtés du triangle.
On va tricher aussi,
on va rajouter ces courbes, il faut les calculer.
La courbe dans le plan x=0 vérifie
>
subs(x=0,p);
(
)
-
+
z
2
y
y
2
2
C’est un cercle d’équation
=
+
-
z
2
-
y
1
2
2
1
4
0
donc de centre
,
,
0
1
2
0
et de rayon
1
2
.
De même dans le plan y=0
>
subs(y=0,p);
(
)
-
+
z
2
x
x
2
2
on a un cercle de centre
,
,
1
2
0 0
et de rayon
1
2
.
enfin dans le plan y=1-x
>
subs(y=1-x,p);
(
)
-
+
z
2
x
x
2
2
on a un cercle de centre
,
,
1
2
1
2
0
et de rayon
1
2
.
On va utiliser la fonction spacecurve et les formes paramétrées pour tracer ces trois cercles.
>
spacecurve({[0,1/2+1/2*cos(t),1/2*sin(t)],[1/2+1/2*cos(t),0,1
/2*sin(t)],[1/2+1/2*cos(t),1/2-1/2*cos(t),1/2*sin(t)]},t=0..2
*Pi,color=black,axes=boxed);
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
–0.4
–0.2
0
0.2
0.4
On stocke
>
D2:=spacecurve({[0,1/2+1/2*cos(t),1/2*sin(t)],[1/2+1/2*cos(t)
,0,1/2*sin(t)],[1/2+1/2*cos(t),1/2-1/2*cos(t),1/2*sin(t)]},t=
0..2*Pi,color=black,axes=boxed):
On va aussi tracer le triangle avec un trait plus épais
>
D3:=spacecurve({[0,t,0],[t,0,0],[t,1-t,0]},t=0..1,color=black
,axes=boxed,thickness=2):
On affiche les trois dessins
>
display(D1,D2,D3);
0
0.2
0.4
0.6
0.8
1
x
0
0.2
0.4
0.6
0.8
1
y
–0.6
–0.4
–0.2
0
0.2
0.4
0.6
Exemple 2 : un carré
On recommence sans les tâtonnements sauf que l’équation du texte est incorrecte. S’agit-il d’un
des
problèmes rencontré
s
comme disent les suggestions ?
Cette équation sera calculée dans la feuille de calcul des polynômes.
>
p:=(z^2-((x-x^2)+(y-y^2)))^2-(x-x^2)*(y-y^2);
:=
p
-
(
)
-
+
-
+
z
2
x
x
2
y
y
2
2
(
)
-
x
x
2
(
)
-
y
y
2
>
implicitplot3d(p,x=-0.2..1.2,y=-0.2..1.2,z=-1..1,grid=[30,30,
30],axes=boxed);
0
0.5
1
x
–0.2
0
0.2
0.4
0.6
0.8
1
1.2
y
–1
–0.5
0
0.5
1
Donc à part l’équation fausse on a les mêmes problèmes que pour le triangle mais on sait quoi
faire : rajouter les courbes dans les plans x=0, x=1, y=0, y=1.
>
D1:=implicitplot3d(p,x=-0.2..1.2,y=-0.2..1.2,z=-1..1,grid=[30
,30,30],axes=boxed):
Dans le plan x=0
>
subs(x=0,p);
(
)
-
+
z
2
y
y
2
2
C’est à nouveau un cercle de centre
,
,
0
1
2
0
et de rayon
1
2
.
Dans le plan x=1
>
subs(x=1,p);
(
)
-
+
z
2
y
y
2
2
Un cercle de centre
,
,
1
1
2
0
et de rayon
1
2
.
Dans le plan y=0
>
subs(y=0,p);
(
)
-
+
z
2
x
x
2
2
Un cercle de centre
,
,
1
2
0 0
et de rayon
1
2
.
Dans le plan y=1
>
subs(y=1,p);
(
)
-
+
z
2
x
x
2
2
Un cercle de centre
,
,
1
2
1 0
et de rayon
1
2
.
On stocke le dessin
>
D2:=spacecurve({[0,1/2+1/2*cos(t),1/2*sin(t)],[1,1/2+1/2*cos(
t),1/2*sin(t)],[1/2+1/2*cos(t),0,1/2*sin(t)],[1/2+1/2*cos(t),
1,1/2*sin(t)]},t=0..2*Pi,color=black,axes=boxed):
On va aussi tracer le carré avec un trait plus épais
>
D3:=spacecurve({[0,t,0],[1,t,0],[t,0,0],[t,1,0]},t=0..1,color
=black,axes=boxed,thickness=2):
On affiche les trois dessins
>
display({D1,D2,D3});
–0.2
0
0.2
0.4
0.6
0.8
1
1.2
x
–0.2
0
0.2
0.4
0.6
0.8
1
y
–1
–0.5
0
0.5
1
Exemple 3 : un anneau
Enfin pour la surface se projetant en un anneau on deux possibilités :
>
p1:=z^2+(x^2+y^2)^2-5*(x^2+y^2)+4;
:=
p1
+
-
-
+
z
2
(
)
+
x
2
y
2
2
5
x
2
5
y
2
4
>
D1:=implicitplot3d(p1,x=-2.5..2.5,y=-2.5..2.5,z=-2..2,grid=[3
0,30,30],axes=boxed,style=PATCHNOGRID):
Remarquer l’option style=PATCHNOGRID, qui dépend des versions de Maple, et permet
d’avoir la surface sans le maillage.
Les deux cercles en gras
>
D3:=spacecurve({[cos(t),sin(t),0],[2*cos(t),2*sin(t),0]},t=0.
.2*Pi,color=black,thickness=3):
Et on réunit les dessins
>
display({D1,D3});
–2
–1
0
1
2
x
–2
–1
0
1
2
y
–2
–1
0
1
2
L’autre surface
>
p2:=(z^2-3)^2+(x^2+y^2)^2-5*(x^2+y^2)+4;
:=
p2
+
-
-
+
(
)
-
z
2
3
2
(
)
+
x
2
y
2
2
5
x
2
5
y
2
4
>
D2:=implicitplot3d(p2,x=-2.5..2.5,y=-2.5..2.5,z=-2.5..2.5,gri
d=[30,30,30],axes=boxed):
Et le dessin
>
display({D2,D3});
–2
–1
0
1
2
x
–2
–1
0
1
2
y
–2
–1
0
1
2
Remarquer que la surface a deux composantes connexes alors que son équation est irréductible.
>
factor(p2);
-
+
+
+
+
-
-
z
4
6
z
2
13
x
4
2
x
2
y
2
y
4
5
x
2
5
y
2
Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.