Application Center - Maplesoft

App Preview:

Plan tangent

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application


 

plan_tangent.mw

[Inserted Image]Plan tangent  

Pierre Lantagne (fvrier 2001)

Collge de Maisonneuve

plantag@edu.cmaisonneuve.qc.ca

http://math.cmaisonneuve.qc.ca/plantagne

Plan tangent

> restart:

> with(plots):
with(plottools):

Warning, the name changecoords has been redefined

Warning, the assigned name arrow now has a global binding

Soit la fonction f dfinie par f(x, y) = 9-((x-2)^2+(y-3)^2) .

Obtenons le trac de ce parabolode avec un pav rectangulaire o x epsilon [-1, 5] et  y epsilon [0, 6].

> f:=(x,y)->9-((x-2)^2+(y-3)^2);

f := proc (x, y) options operator, arrow; 9-(x-2)^2-(y-3)^2 end proc

> Surface:=plot3d([x,y,f(x,y)],x=-1..5,y=0..6,
       grid=[30,30],shading=ZHUE,

       axes=normal,linestyle=2,

       orientation=[60,80]):

> display(Surface);

[Plot]

>

Obtenons une vue plus habituelle du trac d'un parabolode en le traant sur un pav circulaire.

> Surface:=plot3d([x,y,f(x,y)],x=-1..5,y=-sqrt(9-(x-2)^2)+3..sqrt(9-(x-2)^2)+3,
       grid=[40,40],shading=ZHUE,

       axes=normal,linestyle=2,

       orientation=[109,116]):

> Vue_1:=display(Surface):

> display(Vue_1);

[Plot]

Pour mieux illustrer les propos suivant, traons nouveau cette surface mais avec le style PATCHNOGRID. D'abors, dfinissons, par commodit, les options d'affichage suivants:

> OpAffichage:=view=[-1..5,0..6,0..12],axes=frame,labels=[x,y,z],tickmarks=[5,5,5],
             orientation=[-45,80]:

> Surface:=plot3d([x,y,f(x,y)],x=-1..5,y=-sqrt(9-(x-2)^2)+3..sqrt(9-(x-2)^2)+3,
                grid=[40,40],

                style=PATCHNOGRID):

Illustrons maintenant la courbe d'intersection de la surface f et du plan d'quation y = 2 . Visualisons d'abord l'intersection du plan y = 2 avec le plan XY.

> Plan_x:=plot3d([x,2,z],x=-1..5,z=0..9,linestyle=2):

> display({Surface,Plan_x},OpAffichage);

[Plot]

Traons maintenant la trace de ce plan avec la surface f.

> Courbe_x:=[x,2,f(x,2)]:
Tra_x:=spacecurve(Courbe_x,x=-1..5,axes=none,thickness=2,color=orange):

Hx:=spacecurve([x,2,0],x=-1..5,thickness=2,color=khaki):

> display({Surface,Tra_x,Hx},OpAffichage);

[Plot]

Observons cette trace dans le plan y = 2 .

> plot([x,f(x,2),x=-1..5],view=[-1..5,0..8],labels=[x,z],color=orange);

[Plot]

La macro-commande showtangent de l'extension student permet le trac de la tangente en un point d'une courbe dfinie par une fonction une variable. Ainsi, si nous tions dans le plan cartsien au lieu d'tre dans l'espace, nous obtienderions le trac de la tangente cette courbe au point ( 3, f(3,2) ) comme suit.

> student[showtangent](f(x,2), x = 3,color=[navy,orange]);

[Plot]

>

Mais, pour prciser un point de la surface, il nous faut, la fois, prciser une valeur d'abscisse et une valeur d'ordonne. Obtenons alors le trac de la tangente cette surface au point (3, 2, f(3,2)), dans la direction du plan y = 2 .

Obtenons d'abord l'quation paramtrique de cette tangente. L'quation cherche est de la forme [x, y, z] = [3, 2, f(3, 2)]+t*vec[dirx] .

Un vecteur directeur est obtenue comme suit:

> diff(Courbe_x,x);

[1, 0, -2*x+4]

> Vec_dirx:=subs(x=3,%);

Vec_dirx := [1, 0, -2]

Alors, une quation vectorielle de la droite tangente la courbe au point (3,2,f(3,2)) est donne par

> Eq_tangent_x:=[3,2,f(3,2)]+t*Vec_dirx;

Eq_tangent_x := [3, 2, 7]+t*[1, 0, -2]

Traons la droite tangente la surface f au point ( 3,2,f(3,2) ).

> Tangente_x:=spacecurve(evalm(Eq_tangent_x),t=-5..5,axes=none,thickness=2,color=navy):

> display({Tra_x,Hx,Tangente_x},OpAffichage);

[Plot]

Affichons donc aussi la surface f.

> display({Surface,Tra_x,Hx,Tangente_x},OpAffichage);

[Plot]

Similairement, obtenons la trace du plan x = 3 et de la surface f.

> Courbe_y:=[3,y,f(3,y)]:
Tra_y:=spacecurve(Courbe_y,y=-0..6,axes=none,thickness=2,color=orange):

Hy:=spacecurve([3,y,0],y=0..6,axes=none,thickness=2,color=khaki):

display({Surface,Tra_y,Hy},OpAffichage);

[Plot]

Obtenons, de manire analogue, un vecteur directeur tangent_y et la droite tangente D_tany

> diff(Courbe_y,y):
Vec_diry:=subs(y=2,%):

Eq_tangent_y:=[3,2,f(3,2)]+s*Vec_diry:

Tangente_y:=spacecurve(evalm(Eq_tangent_y),s=-5..5,axes=none,thickness=2,color=navy):

> display({Tra_y,Hy,Tangente_y},OpAffichage);

[Plot]

Affichons donc aussi la surface f.

> display({Surface,Tra_y,Hy,Tangente_y},OpAffichage);

[Plot]

Affichons simultanment les deux tangentes.

> display({Surface,Tra_x,Hx,Tangente_x,Tra_y,Hy,Tangente_y},OpAffichage);

[Plot]

Afin de  mieux visualiser ces droites tangentes, slectionnez le graphique prcdent. Ensuite lui donner diffrentes orientations spatiales.


Maintenant que l'on est parfaitement convaincu que les droites Tangente_x et Tangente_x sont bien tangentes la surface, considrons les vecteurs directeurs de ces deux droites comme des vecteurs directeurs du plan tangent.

> Eq_plan_Tangent:=[3,2,f(3,2)]+u*Vec_dirx+v*Vec_diry;

Eq_plan_Tangent := [3, 2, 7]+u*[1, 0, -2]+v*[0, 1, 2]

> Plan_tangent:=plot3d(evalm(Eq_plan_Tangent),u=-1.15..1.15,v=-1.15..1.15,
             style=wireframe,shading=none,grid=[15,15],axes=none,

             color=black,titlefont=[TIMES,ITALIC,14],

             title="Plan tangent la surface",shading=none,thickness=1):

display({Surface,Tra_x,Hx,Tra_y,Hy,Plan_tangent},OpAffichage,orientation=[20,75]);

[Plot]

>

Reste obtenir une quation cartsienne de ce plan tangent. Rappelons que le produit vectoriel de deux vecteurs directeurs d'un plan est un vecteur normal n ce plan. Le plan tangent est le lieu gomtrique de tous les points (x,y,z) tel que l'on ait

n [x-3,y-2,z-f(3,2)]=0

Alors

> N:=linalg[crossprod](Vec_dirx,Vec_diry);
Eq_Plan:=linalg[dotprod](N,[x-3,y-2,z-f(3,2)],'orthogonal')=0;

N := vector([2, -2, 1])

Eq_Plan := 2*x-9-2*y+z = 0

> PI:=sort(Eq_Plan,[x,y,z]);

PI := 2*x-2*y+z-9 = 0

Ajoutons le trac d'un vecteur normal de plan.

> Vec_normal:= arrow([3,2,f(3,2)],[3/4,-6/4,3/4],N,.4, 1.8, .3,color=navy):

> display({Surface,Tra_x,Hx,Tra_y,Plan_tangent,Vec_normal},
        OpAffichage,

        orientation=[20,75]);

[Plot]

>

L'affichage avec une chelle de rapport 1:1 rendrait mieux, videmment, la perpendicularit de ce vecteur normal au plan PI .

> display({Surface,Tra_x,Hx,Tra_y,Plan_tangent,Vec_normal},
               OpAffichage,

               orientation=[25,100],

               scaling=constrained);

[Plot]

>

FIN