• Aucun résultat trouvé

Courbes et surfaces avec Maple

N/A
N/A
Protected

Academic year: 2022

Partager "Courbes et surfaces avec Maple"

Copied!
16
0
0

Texte intégral

(1)

Courbes et surfaces avec Maple

1. Le package « plots ».

2. Courbes y = f(x).

3. Courbes paramétrées.

4. Courbes en polaires.

5. Coordonnées curvilignes.

6. Courbes implicites.

7. Coniques.

8. Polyèdres.

9. Surfaces.

Pierre-Jean Hormière __________

Voir, tout est là… mais voir avec quels yeux ? Dans les années 1960 et 70, les livres dits de géométrie ne comportaient aucun dessin. Pas une figure dans le Cours de géométrie algébrique de Jean Dieudonné (Puf) paru en 1974 ! Seul le titre suggère au lecteur qu’il s’agit de géométrie… Il faut dire que Grothendieck était passé par là, qui voyait des foncteurs en guise de figures. Faute de pouvoir nous élever à ce niveau d’abstraction, nous suivons ici le parti-pris des allemands Georg Glaeser et Konrad Polthier, dans leur stimulant ouvrage Surprenantes images des mathématiques (Belin, 2013).

1. Le package « plots ».

> with(plots);

animate animate3d animatecurve arrow changecoords complexplot complexplot3d , , , , , , , [

conformal conformal3d contourplot contourplot3d coordplot coordplot3d , , , , , , cylinderplot densityplot display display3d fieldplot fieldplot3d gradplot , , , , , , , gradplot3d implicitplot implicitplot3d inequal listcontplot listcontplot3d , , , , , , listdensityplot listplot listplot3d loglogplot logplot matrixplot odeplot pareto , , , , , , , , pointplot pointplot3d polarplot polygonplot polygonplot3d polyhedra_supported , , , , , , polyhedraplot replot rootlocus semilogplot setoptions setoptions3d spacecurve , , , , , , , sparsematrixplot sphereplot surfdata textplot textplot3d tubeplot , , , , , ]

Dans ce document descriptif, il n’est pas question d’explorer tous ces programmes. Retenons que :

Les commandes « display » et « display3d » permettent de représenter plusieurs graphes sur la même figure.

Les commandes « polarplot » et « cylinderplot » permettent de tracer des courbes et surfaces en coordonnées polaires et cylindriques. Si l’on utilise « coords », on peut se placer dans d’autres systèmes de coordonnées curvilignes classiques (sphériques, ellipsoïdales, cassiniennes, etc.)

La commande « spacecurve » permet de tracer des courbes gauches (i.e. en dimension 3). On peut donc, grâce à display, tracer des courbes sur des surfaces.

• Les commandes « implicitplot » et « implicitplot3d » tracent des courbes et surfaces données par

une équation implicite. Les commandes « contourplot » et « contourplot3d » tracent les lignes et

surfaces de niveau d’une fonction donnée. Le tracé est parfois approximatif.

(2)

Ajoutons que le package geometry permet de tracer et d’étudier les coniques, en les rentrant, soit par leur équation, soit par les deux foyers, soit par foyer et directrice, soit par cinq points. Le package geom3d permet d’étudier et de représenter tous les polyèdres en dimension 3.

On trouvera sur l’excellent site Internet http://www.mathcurve.com/

de très nombreuses courbes et surfaces classiques, y compris fractales, avec leurs propriétés.

2. Courbes y = f(x).

1) L’hyperbole 1 1 −

x et la fonction x.sin x 1 .

> plot(1/(x-1),x=-4..6,y=-5..5,scaling=constrained,color=blue);

> p:=plot(x,x=-3..3,color=blue):q:=plot(-x,x=-3..3,color=violet):

r:=plot(1,x=-3..3,color=green):

f:=plot(x*sin(1/x),x=-3..3,numpoints=500,thickness=2):display({p,q,r,f});

2) La fonction plate de Cauchy exp

² 1

x et ses deux premières dérivées.

> with(plots):f:=exp(-1/x^2);g:=diff(f,x);h:=diff(f,x,x);

> p:=plot(f,x=-2..2,color=red,thickness=2):

q:=plot(g,x=-2..2,color=maroon,thickness=2):

r:=plot(h,x=-2..2,color=green,thickness=2):display({p,q,r});

(3)

4) Vers la formule de Stirling : encadrements du logarithme.

> p:=plot(ln,0..7,0..2):f:=x->ln(floor(x)):g:=x->ln(ceil(x)):

> q:=plot(f(x),x=1..7,color=blue):r:=plot(g(x),x=1..7,color=green):

> display({p,q,r});

> p:=plot(ln,0..7,0..2):

> f:=x->ln(floor(x))+frac(x)*ln(1+1/floor(x)):g:=x->ln(round(x))+(x- round(x))/round(x):

> q:=plot(f(x),x=1..7,color=blue):r:=plot(g(x),x=1..7,color=green):

> display({p,q,r});

5) Le noyau de Poisson.

> P:=(r,t)->(1-r^2)/(1-2*r*cos(t)+r^2);with(plots):

p:=r->plot(P(r,t),t=-Pi..Pi,color=COLOR(HUE,r),numpoints=500,thickness=2):

display([seq(p(k/10),k=0..8)]);

(4)

3. Courbes paramétrées.

3.1. Un premier exemple : x(t) =

3

1 ²

t

t , y(t) = 1 ²

² t

t .

> with(plots):

> x:=t->t^2/(1-t^3):y:=t->t^2/(1-t^2):

> dx:=simplify(diff(x(t),t));dy:=simplify(diff(y(t),t));

> solve(dx=0,t);a:=-2^(1/3):evalf(x(a));evalf(y(a));

> limit(x(t),t=infinity);limit(y(t),t=infinity);

> limit(x(t),t=-infinity);limit(y(t),t=-infinity);

> limit((y(t)+1)/x(t),t=infinity);limit((y(t)+1)/x(t),t=-infinity);

> series(x(t),t=0,6);series(y(t),t=0,6);

> series(y(t)-x(t),t=0,6);series(y(t)-x(t)-x(t)^2,t=0,6);

> limit(y(t)/x(t),t=1);limit(y(t)-3/2*x(t),t=1);series(y(t)- 3/2*x(t),t=1,2);

> q:=plot(3/2*x-1/4,x=-4..4,color=red):

r:=plot([1/2,y,y=-5..5],color=red):p:=plot(x+x^2,x=-2..1,color=red):

T:=plot(x,x=-1..1,color=red):f:=plot([x(t),y(t),t=-10..-1.1],x=-4..4,y=- 5..5,numpoints=1000,color=blue,thickness=2):

g:=plot([x(t),y(t),t=-0.9..0.9],x=-4..4,y=-5..5,numpoints=1000,

color=blue,thickness=2):h:=plot([x(t),y(t),t=1.1..10],x=-4..4,y=-5..5, numpoints=1000,color=blue,thickness=2):display({f,g,h,q,r,p,T});

-1 4 3

2

O ( ( − + 1 t )

0

) − + t

5

O t ( )

6

− +

t

4

t

5

O t ( )

6

0 0

0 -1

-1 0

.5291336839 -2.702414384

, , ,

0 −2(1 3/ ) 1 − 22(1 3/ ) 1

2

I 3 2

(1 3/ ) 1 + 22(1 3/ ) 1

2

I 3 2

(1 3/ )

:=

dy 2 t

( − + 1 t

2

)

2

:=

dx t ( 2 + t

3

) ( − + 1 t

3

)

2

+ + t

2

t

4

O t ( )

6

+ +

t

2

t

5

O t ( )

8

(5)

3.2. Une courbe algébrique : le folium de Descartes.

> with(plots):

> p:=(x,y)->x^3+y^3-3*x*y;

> implicitplot(p(x,y)=0,x=-4..4,y=-4..4,numpoints=600,scaling=constrained, thickness=2);

> solve({p(x,y)=0,y=x*t},{x,y});

, ,

{ x = 0 , y = 0 } { x = 0 , y = 0 } { x = 3 t , } +

1 t

3

y = 3 t

2

+ 1 t

3

> x:=t->3*t/(t^3+1):y:=t->3*t^2/(t^3+1):

> plot([x(t),y(t),t=-14..14],x=-4..4,y=-4..4,tickmarks=[8,10], thickness=2,color=blue,scaling=constrained);

3.3. Une courbe algébrique : le boomerang.

> with(plots):

> P:=(x^2-y^2)^2+y^3*(y-1);

:=

P ( x

2

y

2

)

2

+ y

3

( y − 1 )

> solve(expand(P)=0,x);solve({P=0,y=t*x},{x,y});

, , ,

+

y

2

y − + y

2

yy

2

+ y − + y

2

y y

2

y − + y

2

yy

2

y − + y

2

y

, , ,

{

x

= 0,

y

= 0} {

x

= 0,

y

= 0} {

x

= 0,

y

= 0} {

y

=

t

4 , } − +

1 2 t2 2 t4

x

=

t

3 − + 1 2 t2 2 t4

> g:=(a,b,y)->a*sqrt(y^2+b*y*sqrt(-y^2+y)):p:=(a,b)->plot([g(a,b,y),y,y=- 2..2]):display({p(1,1),p(1,-1),p(-1,1),p(-1,-1)},thickness=2);

> x:=t->t^3/(1-2*t^2+2*t^4);y:=t->t^4/(1-2*t^2+2*t^4);

plot([x(t),y(t),t=-10..10],thickness=2,color=violet);

:=

y t

t

4 − + 1 2 t2 2 t4 :=

x tt3 − + 1 2 t2 2 t4

(6)

3.4. Nombres complexes.

> with(plots): p:=y->complexplot((x+I*y)*exp(x+I*y),x=-3..3):

display({p(1),p(-1),p(0.25),p(-0.25),p(0.5),p(-0.5),p(2),p(- 2)},thickness=2);q:=x->complexplot((x+I*y)*exp(x+I*y),y=- 7..7,color=blue,thickness=2):display({q(1),q(-1)});

3.5. Une courbe transcendante : x

y

= y

x

.

Cette courbe, incluse dans le quart de plan { (x, y) ; x > 0, y > 0 }, est symétrique par rapport à la première bissectrice {(x, x) ; x > 0}, et la contient. Pour représenter le complément, on peut, soit paramétrer la courbe via y/x = t, soit « résoudre en y » l’équation x

y

= y

x

grâce aux fonctions de Lambert préprogrammées. Il est intéressant de comparer les résultats obtenus.

> solve({x^y=y^x,y=t*x},{x,y});

{x = eeee , }





( ) ln t

t 1

= y t eeee





( ) ln t

t 1

> x:=t->exp(ln(t)/(t-1));y:=t->t*exp(ln(t)/(t-1));

> p:=plot([x,x,x=0..5],thickness=2,color=maroon):

h:=plot([t,1,t=0..5],color=blue):v:=plot([1,t,t=0..5],color=blue):

q:=plot([x(t),y(t),t=-10..10],x=0..5,y=0..5,thickness=2):

display({p,q,h,v},scaling=constrained);

> solve(x^y=y^x,y);alias(W=LambertW):

f:=x->-1/ln(x)*x*W(-ln(x)/x);g:=x->-1/ln(x)*x*LambertW(-1,-ln(x)/x);

:=

f x → − x

 



W − ln x( ) x ( ) ln x

> h:=plot([t,1,t=0..5],color=black):v:=plot([1,t,t=0..5],color=black):

p:=plot(f(x),x=0..5,y=0..5,thickness=2,color=blue):q:=plot(g(x),x=0..5,y=0 ..5,thickness=2,color=red):display({p,q,h,v},scaling=constrained);

:=

g x → − x

 



W -1,−ln x( ) x ( )

ln x

x

 



LambertW − ln x( ) x ( ) ln x

(7)

4. Courbes en polaires.

4.1. Les spirales.

1) La spirale d’Archimède.

polarplot(t,t=0..25,scaling=constrained);

polarplot(t,t=-15..15,scaling=constrained);

2) Spirale logarithmique ou équiangle.

polarplot(exp(0.1*t),t=-30..5,scaling=constrained);

polarplot(exp(0.2*t),t=-30..5,scaling=constrained);

3) Spirales de Fermat et de Galilée.

polarplot([sqrt(t),-sqrt(t)],t=0..10,color=blue,scaling=constrained);

> polarplot([0.5*t^2,-0.5*t^2],t=-12..12,color=blue,scaling=constrained);

4) Le lituus de Roger Cotes (1722).

> with(plots):polarplot(1/sqrt(t),t=0.2..20,color=green,thickness=2);

(8)

4.2. Conchoïdes.

Conchoïdes de Nicomède, ou de droites, et limaçons de Pascal, ou conchoïdes de cercles.

> f:=(t,lambda)->1/cos(t)+lambda;q:=polarplot(f(t,0),t=-

1.5..1.5,color=blue,thickness=2):p:=lambda->polarplot(f(t,lambda),t=- 1.4..1.4):display([q,seq(p(k),k=1..9),seq(p(k),k=-9..-1)]);

> g:=(t,lambda)->cos(t)+lambda;q:=lambda->polarplot(g(t,lambda),t=- Pi..Pi):r:=polarplot(cos(t),t=-Pi..Pi,color=blue,thickness=2):

display([r,seq(q(1/2*k),k=1..5)],scaling=constrained);

4.3. Feuille de châtaignier, feuille de vigne et… catleya.

(cf. Wentworth d’Arcy Thompson, Forme et croissance, p. 279-281, et Marcel Proust).

> x:=polarplot(abs(sin(t/2+Pi/4)),t=-Pi..Pi,color=brown):

y:=polarplot(abs(sin(t/2+Pi/4)*sin(4*t)),t=-Pi..Pi):

display([x,y],scaling=constrained);

> f:=t->sum(cos(3^n*t)/2^n,n=0..10);

> polarplot(f(t+Pi/2),t=-Pi..Pi,color=green,thickness=2);

> f:=t->cos(t)+1/sin(t/2);a:=polarplot(f(t),t=-Pi..-0.25,thickness=2):

b:=polarplot(f(t),t=0.3..Pi,color=blue,thickness=2):

c:=polarplot(f(-t),t=0.25..Pi,thickness=2):

(9)

6. Courbes implicates.

6.1. Courbes de niveau de h(x, y) = sin x + sin y.

> h:=(x,y)->sin(x)+sin(y);

> with(plots):contourplot(h(x,y),x=-5..5,y=-5..5,thickness=2);

> p:=a->implicitplot(h(x,y)=a,x=-5..5,y=-5..5,numpoints=2000):

display([seq(p(k/5),k=-10..10)]);

6.2. Courbes de niveau de h(x, y) = sin x + sin y + cos(x + y).

> with(plots):h:=(x,y)->sin(x)+sin(y)+cos(x+y);

> contourplot(h(x,y),x=-6..6,y=-6..6,scaling=constrained,thickness=2);

> p:=a->implicitplot(h(x,y)=a,x=-6..6,y=-6..6,numpoints=2500):

display([seq(p(k/5),k=-15..15)],scaling=constrained);

(10)

7. Coniques.

> with(geometry):

> _EnvHorizontalName:='x':_EnvVerticalName:='y':

> conic(c,13*x^2-32*x*y+37*y^2-2*x+13*y-5=0):

> detail(c);draw(c,thickness=2,axes=normal,scaling=constrained);

name of the object: c

form of the object: ellipse2d center: [-67/225, -137/450]

foci: [[2/5*(-9/50*5^(1/2)-1/225*60130^(1/2))*5^(1/2)+14/225, 1/5*(-9/50*5^

\

(1/2)-1/225*60130^(1/2))*5^(1/2)-28/225], [2/5*(-9/50*5^(1/2)+1/225*60130^

\

(1/2))*5^(1/2)+14/225, 1/5*(-9/50*5^(1/2)+1/225*60130^(1/2))*5^(1/2)-28/22

\

5]]

length of the major axis: 1/75*30065^(1/2) length of the minor axis: 1/225*30065^(1/2)

equation of the ellipse: 13*x^2-32*x*y+37*y^2-2*x+13*y-5 = 0

> line(L,x+y=2,[x,y]):point(F,3,4):e:=2/3:conic(c1,[L,F,e]):

detail(c1);draw(c1,thickness=2,axes=normal);

name of the object: c1

form of the object: ellipse2d center: [8, 9]

foci: [[3, 4], [13, 14]]

length of the major axis: 10*3^(1/2)

length of the minor axis: 10

equation of the ellipse: 4/3*x^2-4/3*x*y+4/3*y^2-28/3*x-40/3*y+142/3 = 0

(11)

8. Polyèdres.

> with(geom3d):

Define a tetrahedron with center (1,2,3), radius of the circum-sphere 3

> tetrahedron(t,point(o,1,2,3),3);

t

Access information relating to the tetrahedron t:

> area(t);center(t);faces(t);form(t);

24 3 o

[ [ 3 + 1 , 3 + 2 , 3 + 3 ] , [ 3 + 1 , − + 3 2 , − + 3 3 ] , [ − + 3 1 , 3 + 2 , − + 3 3 ] ] , [ [

, ,

[ 3 + 1 , 3 + 2 , 3 + 3 ] [ − + 3 1 , − + 3 2 , 3 + 3 ] [ 3 + 1 , − + 3 2 , − + 3 3 ], ]

, ,

[ 3 + 1 , 3 + 2 , 3 + 3 ] [ − + 3 1 , 3 + 2 , − + 3 3 ] [ − + 3 1 , − + 3 2 , 3 + 3 ] [

] [ , [ 3 + 1 , − + 3 2 , − + 3 3 ] , [ − + 3 1 , − + 3 2 , 3 + 3 ] , [ − + 3 1 , 3 + 2 , − + 3 3 ] ] ]

tetrahedron3d

> draw(t);

> InRadius(t);MidRadius(t);radius(t);

> schlafli(t);

[ 3 3 , ]

> sides(t);vertices(t);volume(t);

2 3 2

[ 3 + 1 , 3 + 2 , 3 + 3 ] , [ 3 + 1 , − + 3 2 , − + 3 3 ] , [ − + 3 1 , 3 + 2 , − + 3 3 ] , [

[ − + 3 1 , − + 3 2 , 3 + 3 ] ]

8 3

Define a dodecahedron with center (0,0,0), radius 1

> RegularPolyhedron(d,[5,3],point(o,0,0,0),1);

d

> form(d);draw(d);

dodecahedron3d

Define the same dodecahedron given the side

> RegularPolyhedron(d2,[5,3],point(o,0,0,0),side=sides(d));

d2

> radnormal(radius(d2));

1

1

6 6 3 2

3 3

(12)

9. Surfaces.

9.1. Hommage à Laplace.

>

plot3d(binomial,0..10,0..10,axes=BOXED, color=violet);

9.2. La sphère.

Voici la sphère et ses loxodromies dans divers styles : Wireframe, Hidden, Point, Line, Contour.

>p:=plot3d([cos(u)*sin(t),cos(u)*cos(t)

,sin(u)],t=0..2*Pi,u=0..2*Pi,style=WIREFRAME,color=black):

> q:=spacecurve([cos(t)/cosh(t),sin(t)/cosh(t),tanh(t),t=-

10..10],color=red,numpoints=500,thickness=2):r:=spacecurve([cos(t)/cosh(t/

2),sin(t)/cosh(t/2),tanh(t/2),t=-

10..10],color=blue,numpoints=500,thickness=2):s:=spacecurve([cos(t)/cosh(t /3),sin(t)/cosh(t/3),tanh(t/3),t=-

10..10],color=maroon,numpoints=500,thickness=2):

> display3d({p,q,r,s});

Remarque finale : à notre grand regret, nous ne pouvons visualiser le paradoxe de Banach-Tarski, qui affirme que l’on peut reformer deux boules à l’aide d’une seule, grâce à un savant découpage… Très utile si un coup de marteau malencontreux réduit à néant une roubignolle.

9.3. Hélices tracées sur un cône.

(13)

7.4.

Berlingot, pavé de 68 et cubiques…

> plot3d([cos(u),cos(v),cos(u+v)],u=0..2*Pi,v=0..2*Pi,color=u);

> implicitplot3d(x^4+y^4+z^4=1,x=-1..1,y=-1..1,z=- 1..1,color=red,grid=[13,13,13]);

> h:=(x,y)->y^2/2+3*x^2/2-x^3/2;plot3d(h,-1..3,-

2..2,numpoints=1000,orientation=[70,70],axes=NORMAL,color=h);

9.5. Conoïde de Plücker et ruban de Möbius.

> plot3d((x^2-y^2)/(x^2+y^2),x=-2..2,y=-

2..2,grid=[51,51],style=HIDDEN,axes=NORMAL,color=-x-y,title=`conoïde de Plücker`);

plot3d([2*cos(u)+v*cos(u/2)*cos(u),2*sin(u)+v*cos(u/2)*sin(u),v*sin(u/2)], u=0..2*Pi,v=-0.8..0.8,color=u);

9.6. Le tore et les toroïdes.

>cylinderplot([5+2*cos(t),theta,2*sin(t)],t=0..2*Pi,theta=0..2*Pi,orientat ion=[0,30],style=PATCH);

>cylinderplot([5+2*cos(t),theta,2*sin(t)],t=0..2*Pi,theta=0..2*Pi,orientat

(14)

>cylinderplot([5+2*cos(t),theta,2*sin(t)],t=0..2*Pi,theta=0..2*Pi,orientat ion=[0,30],style=HIDDEN,color=t);

>

p:=plot([2*cos(t),sin(t),t=0..2*Pi],thickness=2,color=gold):

> f:=t->1/sqrt(cos(t)^2/4+sin(t)^2);

> g:=r->plot([2*cos(t)*(1+r/4*f(t)),sin(t)*(1+r*f(t)),t=0..2*Pi], color=maroon);display({p,seq(g(k/3),k=-17..5)},scaling=constrained);

On nomme « toroïdes » les contours apparents (ou ombres) d’un tore à coller sur un plan. Ce sont des courbes parallèles à l’ellipse, elles sont algébriques de degré 8.

Voici maintenant des paramétrisations du tore à l’aide de l’une ou l’autre famille de cercles de Villarceau :

> with(plots);

> x:=(epsilon,a,b,u,v)->sqrt(a^2-b^2)*sin(v)*cos(u) -epsilon*(b+a*cos(v))*sin(u);

:=

x ( ε , , , , a b u v ) → a

2

b

2

sin v ( ) cos u ( ) − ε ( b + a cos v ( ) ) sin u ( )

(15)

9.7. Deux surfaces minimales : caténoïde (Euler, 1740) et surface d’Enneper (1864).

> cylinderplot([cosh(z),theta,z],theta=0..2*Pi,z=-2..2,color=z);

>

plot3d([u-u^3/3+u*v^2,v-v^3/3+u^2*v,u^2-v^2],u=-5..5,v=-4..4,color=v);

(16)

Voici une déformation continue et isométrique d’un caténoïde en un hélicoïde droit, la surface restant constamment minimale :

> with(plots):p:=a->plot3d([cos(a)*cos(v)*cosh(u)+sin(a)*sin(v)*sinh(u), cos(a)*sin(v)*cosh(u)-sin(a)*cos(v)*sinh(u),cos(a)*u+sin(a)*v],

u=-1.5..1.5,v=0..2*Pi,color=v);

> for k from 0 to 5 do p(k*Pi/10);od;

Et pour finir, voici la célèbre surface de Clebsch (que Vidiani connaît):

> with(plots):

> P:=(x,y,z)->81*(x^3+y^3+z^3)-

189*(x^2*y+x^2*z+y^2*x+y^2*z+z^2*x+z^2*y)+54*x*y*z+126*(x*y+y*z+z*x)- 9*(x^2+y^2+z^2)-9*(x+y+z)+1;

P := ( x y z , , ) → 81 x

3

+ 81 y

3

+ 81 z

3

189 x

2

y189 x

2

z189 y

2

x189 y

2

z189 z

2

x 189 z

2

y 54 x y z 126 y x 126 y z 126 z x 9 x

2

9 y

2

9 z

2

9 x 9 y 9 z

− + + + + − − − − − −

+ 1

> implicitplot3d(P(x,y,z)=0,x=-4..4,y=-4..4,z=-4..4, scaling=constrained,numpoints=5000);

Références

Documents relatifs

Si l'on peut déterminer A, fjt, v, p de telle sorte que l'é- quation (d) devienne identiquement nulle, les valeurs des variables qui satisfont simultanément aux équations (a)

Si un théorème vrai pour trois axes j rectangulaires OA, OB, OC coupant une surface subsiste encore quand on y remplace deux axes OA, OB par d'autres axes aussi rectangulaires

Etude de la brachistochrone : Une courbe brachistochrone est une courbe sur laquelle doit glisser sans frottement et sans vitesse initiale, un point mat´ eriel pesant plac´ e dans

un point mobile Q, défini pour les valeurs de t d’un intervalle ouvert contenant ta, qui tend vers P quand t tend vers to, alors elles ont même vitesse normale en

On peut voit* que celles des sections nonnales de la quaxirique, au point M^ qui touchent tes traces du cône sur le plan tangent, ont leur rayon de courbure é^al au rayon de la

le plan ^représente une de ces courbes du quatrième ordre. Consi- dérons donc un des complexes auxquels appartiennent les génératrices de la surface.. APPLICATION DE LA.THÉOPJE

» Dans le cas particuhei ou la surface donnée est du troisième degré, les positions singulières du plan sécant mené par une tangente quelconque pour lesquelles le contact avec

Mode linéaire tan gentiel de génération : si sur n droites fixes se déplacent // points assujettis à rester aligné*, sur une droite mobile A de façon que les para- mètres A-p A 2