Courbe implicite

De testwiki
Version datée du 1 août 2023 à 00:12 par imported>Ovosilawalisovo (growthexperiments-addlink-summary-summary:3|0|0)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
Ovales de Cassini :
(1) a = 1,1 , c=1 (au dessus),
(2) a = c = 1 (au milieu),
(3) a = 1, c = 1,05 (au dessous)

En mathématiques, une courbe implicite (en coordonnées cartésiennes) est une courbe plane définie par une équation implicite reliant les deux coordonnées Modèle:Mvar et Modèle:Mvar d'un point de 2. Par exemple, le cercle unité est défini par l'équation implicite x2+y2=1. Dans le cas général, une courbe implicite est définie en coordonnées cartésiennes par une équation de la forme

F(x,y)=0

Modèle:Mvar est une fonction de deux variables. Elle peut donc être considérée comme l'ensemble des zéros d'une telle fonction. Implicite signifie que l'équation n'est pas sous une forme où Modèle:Mvar a été explicité en fonction de Modèle:Mvar, ou l'inverse.

Si F est un polynôme à deux variables, la courbe correspondante est dite algébrique, et il existe des méthodes spécifiques pour l'étudier.

Les courbes planes peuvent être représentées en coordonnées cartésiennes sous trois formes, dont l'une est la forme implicite vue ci-dessus, une autre, la forme explicite

y=f(x)

(ou

x=f(y)

), et la troisième, la forme paramétrique, où les coordonnées Modèle:Mvar et Modèle:Mvar sont représentées par deux fonctions Modèle:Formule dépendant d'un paramètre commun

t.
Courbe implicite : sin(x+y)cos(xy)+1=0

En pratique les courbes implicites ont pour inconvénient principal une visualisation difficile. Mais il existe des programmes informatiques permettant de les représenter. Les propriétés particulières des courbes implicites en font des outils indispensables en géométrie et en infographie.

Exemples

Courbe implicite sin(x+y)cos(xy)+1=0 comme courbes de niveau de la surface z=sin(x+y)cos(xy)+1

Voici des exemples de courbes implicites :

  1. une droite : x+2y3=0,
  2. un cercle : x2+y24=0,
  3. la parabole semi-cubique : x3y2=0,
  4. les ovales de Cassini :(x2+y2)22c2(x2y2)(a4c4)=0 (voir figure ci-dessus),
  5. sin(x+y)cos(xy)+1=0 (voir figure).

Les quatre premiers exemples sont algébriques, mais pas le dernier. Les courbes des trois premiers exemples possèdent des représentations paramétriques simples, ce qui n'est pas le cas des quatrième et cinquième exemples. Ce dernier montre que la structure géométrique d'une courbe implicite peut éventuellement être complexe.

Une courbe implicite d'équation F(x,y)=0 peut être considérée comme la courbe de niveau 0 de la surface z=F(x,y) (voir la troisième figure).

Courbes équipotentielles de deux charges ponctuelles

Courbes équipotentielles de deux charges ponctuelles situées aux points bleus

Les courbes équipotentielles de deux charges ponctuelles égales aux points P1=(1,0),P2=(1,0) sont représentées par l'équation

f(x,y)=1|PP1|+1|PP2|c=1(x1)2+y2+1(x+1)2+y2c=0.

Les courbes ressemblent aux ovales de Cassini, mais ce n'en sont pas.

Pente et courbure

Le théorème des fonctions implicites explicite les conditions sous lesquelles une équation F(x,y)=0 peut être résolue implicitement en Modèle:Mvar et/ou Modèle:Mvar – c'est-à-dire qu'on peut valablement écrire y=f(x) ou x=f(y). Ce théorème est la clé du calcul des caractéristiques géométriques essentielles de la courbe : tangentes, normales et courbure.

En général, les courbes implicites échouent au test de la droite verticale (ce qui signifie que certaines valeurs de Modèle:Mvar sont associées à plusieurs valeurs de Modèle:Mvar ) et ne sont donc pas nécessairement des graphes de fonctions. Cependant, le théorème des fonctions implicites donne des conditions sous lesquelles une courbe implicite est représentée localement par le graphe d'une fonction (en particulier si elle n'a pas d'auto-intersections). Si les relations de définition sont suffisamment lisses, alors, dans de telles régions, les courbes implicites ont des pentes, des tangentes, des vecteurs normaux et une courbure bien définis.

Il existe plusieurs manières de calculer ces quantités pour une courbe implicite donnée. Une méthode consiste à utiliser la différenciation implicite pour calculer les dérivées de Modèle:Mvar par rapport à Modèle:Mvar. Pour une courbe définie par l'équation implicite F(x,y)=0, on peut aussi exprimer ces formules directement en termes de dérivées partielles de F . Dans ce qui suit, les dérivées partielles sont notées Fx ou Modèle:Mvar (pour la dérivée par rapport à Modèle:Mvar), Fy ou Modèle:Mvar, Fxx ou Modèle:Mvar (pour la dérivée seconde partielle par rapport à Modèle:Mvar), Fxy ou Modèle:Mvar (pour la dérivée seconde partielle mixte), et Fyy ou Modèle:Mvar.

Vecteur tangent et vecteur normal

Un point (x0,y0) de la courbe est dit régulier si l'une des dérivées partielles premières Fx(x0,y0) et Fy(x0,y0) est non nulle, autrement dit sigradF(x0,y0)(0,0).

L'équation de la tangente en un point régulier (x0,y0) est donnée par :

Fx(x0,y0)(xx0)+Fy(x0,y0)(yy0)=0,

donc la pente de la tangente, si Fy(x0,y0)0, est égale à

Fx(x0,y0)Fy(x0,y0).

Dans le cas où Fy(x0,y0)=0Fx(x0,y0), la courbe est verticale en ce point.

Un vecteur normal à la courbe en ce point est donné par

𝐧(x0,y0)=(Fx(x0,y0),Fy(x0,y0)).

Courbure en un point régulier

Pour la lisibilité des formules, les arguments (x0,y0) sont omis. La courbure κ en un point régulier est donnée par la formule

κ=Fy2Fxx2FxFyFxy+Fx2Fyy(Fx2+Fy2)3/2=q2r2pqs+p2t(p2+q2)3/2=[qp][rsst][qp](p2+q2)3/2[1].

Obtention des formules précédentes

Si Fy(x0,y0)0, le théorème des fonctions implicites garantit au voisinage d'un point (x0,y0) l'existence d'une fonction f telle que F(x,f(x))=0 . Par la règle de dérivation des fonctions composées, les dérivées de la fonction f sont alors :

f(x)=Fx(x,f(x))Fy(x,f(x)) et f(x)=Fy2Fxx2FxFyFxy+Fx2FyyFy3

(où les arguments (x,f(x)) à droite de la deuxième formule sont omis pour faciliter la lecture).

Or les formules de la pente de tangente et de la courbure κ(x0) de la courbe d'équation explicite y=f(x) sont respectivement

Exemple de la courbe d'équation x4=x2+y2 présentant un point isolé en (0,0) (campyle d'Eudoxe)
{f(x0)f(x0)(1+f(x0)2)3/2

D'où les résultats du paragraphe précédent en insérant les valeurs ci-dessus, résultats encore valables si Fy(x0,y0)=0Fx(x0,y0).

Cas d'un point singulier

Exemple de la courbe d'équation x4=x2y2 présentant un point de croisement en (0,0) (courbe en huit).

Si les deux dérivées Fx(x0,y0) et Fy(x0,y0) sont nulles, la courbe y présente un point singulier.

Si en (x0,y0) , det[rsst]=rts2>0, il s'agit d'un point isolé.

Si en (x0,y0) , det[rsst]=rts2<0, il s'agit d'un point de croisement.

Si en (x0,y0) , det[rsst]=rts2=0, il s'agit en général d'un point de rebroussement.

Avantages et inconvénient des courbes implicites

Avantages

  1. Les représentations implicites facilitent le calcul des points d'intersection : si une courbe est représentée implicitement et l'autre paramétriquement, le calcul des points d'intersection ne nécessite qu'une simple itération de Newton (à une dimension) (mais pas dans les cas implicite-implicite et paramétrique-paramétrique).
  2. Une représentation implicite F(x,y)=0 donne la possibilité de créer des zones hors de la courbe suivant le signe de F(x,y). Cela peut être utile par exemple pour appliquer la méthode de la fausse position au lieu d'une itération de Newton.
  3. Il est facile de générer des courbes qui sont presque géométriquement semblables à la courbe implicite donnée F(x,y)=0, en ajoutant juste une petite constante : F(x,y)c=0 (voir le paragraphe Approximations lisses ).

Inconvénient

L'inconvénient principal du fait qu'une courbe soit sous forme implicite est l'absence de possibilité facile de calcul de points donnés, ce qui est nécessaire pour la visualisation de cette courbe (voir le paragraphe de visualisation).

Applications des courbes implicites

Approximation lisse d'un polygone convexe
Approximation lisse de 1) la moitié d'un cercle, 2) l'intersection de deux cercles

En mathématiques, les courbes implicites jouent un rôle important en tant que courbes algébriques. De plus, des courbes implicites sont utilisées pour concevoir des courbes de formes souhaitée ; voici deux exemples.

Approximations lisses

Une approximation lisse d'un polygone convexe peut être obtenue de la manière suivante : Soit gi(x,y)=aix+biy+ci=0, i=1,,n les équations des droites contenant les bords du polygone, exprimées de façon que pour un point intérieur au polygone gi soit positif. Un sous-ensemble de la courbe implicite

F(x,y)=g1(x,y)gn(x,y)c=0

avec un petit paramètre approprié c est alors une approximation lisse (différentiable) du polygone. Par exemple, les courbes

F(x,y)=(x+1)(x+1)y(xy+2)(xy+2)c=0 pour c=0,03 ;;0,6

contiennent des approximations lisses d'un polygone à 5 côtés (voir figure).

Couples de droites

Dans le cas de deux droites

F(x,y)=g1(x,y)g2(x,y)c=0

on obtient

  • un faisceau de droites parallèles, si les droites données sont parallèles ou
  • un faisceau d'hyperboles ayant pour asymptotes les droites données.

Par exemple, le produit des variables des axes de coordonnées donne le faisceau des hyperboles xyc=0, c0, ayant les axes de coordonnées comme asymptotes.

Autres cas

Si l'on part de simples courbes implicites autres que des droites (cercles, paraboles,...) on obtient un large éventail de nouvelles courbes intéressantes. Par exemple,

F(x,y)=y(x2y2+1)c=0

(produit d'un cercle et de l'axe des Modèle:Mvar) donne des approximations lisses du bord d'un demi-disque (voir image), et

F(x,y)=(x2(y+1)2+4)(x2(y1)2+4)c=0

(produit de deux cercles) donne des approximations lisses du bord de l'intersection de deux disques (voir image).

Courbes de raccord

Courbe de fusion (rouge) de deux cercles

En CAO on utilise des courbes implicites pour générer des courbes de raccord[2]Modèle:,[3], qui sont des courbes établissant une transition douce entre deux courbes données. Par exemple,

F(x,y)=(1μ)f1f2μ(g1g2)3=0

génère des courbes de raccord entre les deux cercles

f1(x,y)=(xx1)2+y2r12=0,
f2(x,y)=(xx2)2+y2r22=0.

La méthode garantit la continuité des tangentes et des courbures aux points de contact (voir schéma). Les deux droites

g1(x,y)=xx1=0, g2(x,y)=xx2=0

déterminent les points de contact aux cercles. Le paramètre μ est un paramètre de conception. Dans la figure, μ=0,05 ; ;0,2 .

Visualisation d'une courbe implicite

Pour visualiser une courbe implicite, on détermine généralement une suite de points sur la courbe et on affiche le polygone correspondant. Pour une courbe paramétrique, c'est une tâche facile : on calcule simplement les points d'une suite de valeurs du paramètre. Pour une courbe implicite, il faut résoudre deux sous-problèmes :

  1. déterminer un premier point de courbe à un point de départ donné au voisinage de la courbe,
  2. déterminer un point de la courbe à partir d'un point de la courbe connu.

Dans les deux cas, il est raisonnable de supposer gradF(0,0) . En pratique, cette hypothèse n'est violée qu'en des points isolés.

Algorithme ponctuel

Pour la solution des deux tâches mentionnées ci-dessus, il est indispensable de disposer d'un programme informatique (que nous appellerons 𝖢𝖯𝗈𝗂𝗇𝗍 ), qui, lorsqu'on lui donne un point Q0=(x0,y0) près d'une courbe implicite, trouve un point P qui est exactement sur la courbe:

(P1) pour le point de départ, j=0
(P2) répéter
(xj+1,yj+1)=(xj,yj)F(xj,yj)Fx(xj,yj)2+Fy(xj,yj)2(Fx(xj,yj),Fy(xj,yj))
(méthode de Newton pour la fonction g(t)=F(xj+tFx(xj,yj),yj+tFy(xj,yj)) . )
(P3) jusqu'à la distance entre les points (xj+1,yj+1),(xj,yj) est assez petite.
(P4) P=(xj+1,yj+1) est le point de la courbe près du point de départ Q0 .
Visualisation de l'algorithme de traçage : les points de départ sont verts

Algorithme de traçage

Afin de générer un polygone dont les sommets sont quasi également espacés sur la courbe implicite, on choisit une longueur de pas s et

(T1) on choisit un point de départ approprié à proximité de la courbe
(T2) on détermine un premier point de courbe P1 en utilisant le programme 𝖢𝖯𝗈𝗂𝗇𝗍
(T3) on détermine la tangente (voir ci-dessus), on choisit un point de départ sur la tangente en utilisant la longueur du pas s (voir schéma) et on détermine un deuxième point de courbe P2 en utilisant le programme 𝖢𝖯𝗈𝗂𝗇𝗍 .
Illustration de l'algorithme de rastérisation appliqué à la courbe implicite (3x2y2)2y2(x2+y2)4=0 . La courbe (en rouge) est ce que l'algorithme essaie de dessiner. Les points du réseau (noirs) sont utilisés comme points de départ pour trouver les points les plus proches sur la courbe (cercles rouges). L'espacement entre les points du réseau est exagéré ; pour tracer plus précisément la courbe, un réseau plus dense serait utilisé [4].

L'algorithme ne trace que des composantes connexes de la courbe. Si elle en possède plusieurs, il doit être redémarré plusieurs fois avec des points de départ appropriés.

Algorithme de rastérisation

Si la courbe implicite est constituée de plusieurs composantes, il peut être préférable d'utiliser un algorithme de rastérisation. Au lieu de suivre exactement la courbe, un tel algorithme couvre toute la courbe par beaucoup de points de sorte qu'ils se mélangent et fassent ressortir la courbe.

(R1) Générer un réseau de points (un raster) sur la zone d'intérêt du plan Modèle:Mvar.
(R2) Pour chaque point P dans le réseau, exécuter l'algorithme de point 𝖢𝖯𝗈𝗂𝗇𝗍 à partir de P, puis marquer sa sortie.

Si le réseau est suffisamment dense, le résultat se rapproche de la courbe implicite.

Courbes implicites en coordonnées polaires

Une courbe implicite en coordonnées polaires est définie par une équation du type G(ρ,θ)=0. Le passage de l'équation cartésienne F(x,y)=0 d'une courbe, à son équation polaire se fait facilement en posant G(ρ,θ)=F(ρcosθ,ρsinθ) ; le passage inverse, plus délicat, se fait en utilisant les relations ρ2=x2+y2 et ycosθ=xsinθ.

Par exemple, la courbe implicite cartésienne (3x2y2)2y2(x2+y2)4=0 ci-contre a pour équation polaire ρ±sin3θ=0.

Dans le repère polaire, la tangente a pour pente ρdρdθ=ρGρGθ.

Courbes implicites 3D

Une courbe de l'espace définie par deux équations

F(x,y,z)=0,G(x,y,z)=0

s'appelle une courbe 3d implicite.

Un point (x0,y0,z0) de la courbe est dit régulier si le produit vectoriel des gradients de F et G n'est pas nul en ce point:

𝐭(x0,y0,z0)=gradF(x0,y0,z0)gradG(x0,y0,z0)(0,0,0);

sinon il est dit singulier. Le vecteur 𝐭(x0,y0,z0) est un vecteur tangent à la courbe au point (x0,y0,z0).

Courbe d'intersection entre une sphère et un cylindre

Exemples :

(1)x+y+z1=0 , xy+z2=0

est une droite.

(2)x2+y2+z24=0 , x+y+z1=0

est une section plane de sphère, donc un cercle.

(3)x2+y21=0,x+y+z1=0

est une ellipse (section plane d'un cylindre).

(4)x2+y2+z216=0,(yy0)2+z29=0

est la courbe d'intersection entre une sphère et un cylindre.

Pour le calcul des points de la courbe et sa visualisation, voir l'article Intersection.

Voir également

Références

Modèle:Références Modèle:Traduction/Référence

  • Gomes, A., Voiculescu, I., Jorge, J., Wyvill, B., Galbraith, C.: Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms, 2009, Springer-Verlag London,Modèle:ISBN
  • C:L : Bajaj, CM Hoffmann, RE Lynch : Tracing surface intersections, Comp. Aided Geom. Design 5 (1988), 285-307.
  • Geometry and Algorithms for COMPUTER AIDED DESIGN

Liens externes

Modèle:Portail

  1. Modèle:Article
  2. C. Hoffmann & J. Hopcroft: The potential method for blending surfaces and corners in G. Farin (Ed) Geometric-Modeling, SIAM, Philadelphia, pp. 347-365
  3. E. Hartmann: Blending of implicit surfaces with functional splines, CAD,Butterworth-Heinemann, Volume 22 (8), 1990, p. 500-507
  4. G. Taubin: Distance Approximations for Rastering Implicit Curves. ACM Transactions on Graphics, Vol. 13, No. 1, 1994.