Comment tracer un plan à partir de son équation ?

Le problème exposé dans ce sujet a été résolu.

Salut !

Je souhaiterais dessiner un plan avec trois points de départ A, B et C (dont je connais les coordonnés) dans un programme.

Donc pour le moment j’ai l’équation suivante : $$ax + by + cz + d = 0$$.

En partant du principe que $$x,y,z$$ sont les trois points dont je parle, on a donc "deux équations" :

  1. Une faisant usage de leur abscisse : $$ax_x + by_x + cz_x + d = 0$$

  2. Et l’autre, de leur ordonnée : $$ax_y + by_y + cz_y + d = 0$$

Mais en quoi est-ce utile pour créer le plan ? Je veux dire : vu que je connais les coordonnées de x, y et z, je dois juste essayer de trouver a, b, c et d de sorte à avoir une somme égale à zéro non ? Mais en quoi ça va créer mon plan ?

Par ailleurs : est-ce que a, b, c et d sont bien juste des constantes, des coefficients ?

Et aussi, est-ce que quelqu’un serait à-même de m’expliquer cette définition d’un plan ? Genre pourquoi cette somme ? Pourquoi ces "a, b, c et d" ? Pourquoi ça doit valoir 0 ?

Ca fait beaucoup de questions dans un seul post, désolé ! :lol:

Salut,

C’est un peu confus d’appeler tes points $x$, $y$ et $z$ quand tu mélanges cela avec les notations d’abscisse, d’ordonnée et de cote. Quand tu écris $x_y$, on est d’accord que tu penses à l’abscisse du point $y$ ?

Sinon, ton système de trois équations est censé te permettre de calculer des valeurs $a$, $b$, $c$ et $d$ valides. Ça ne va pas créer ton plan, mais te permettre d’avoir une formule qui vérifie si un point appartient au plan.

Il n’y a pas une seule solution $(a,b,c,d)$. Tu dois justement voir qu’en multipliant tous tes coefficients par un réel, tu gardes une équation équivalente.

Aussi, ce n’est pas que ça doit valoir 0, mais que c’est plus simple ainsi. Tu pourrais très bien imaginer une équation sous la forme $a \times x + b \times y + c \times z = d$, c’est pareil.

Pourquoi cette somme ? Il me semble qu’elle représente un produit scalaire entre un vecteur variable du plan et un vecteur normal au plan. Tu en as une démonstration ici. Les noms des coefficients sont ensuite choisis arbitrairement.

Salut,

C’est un peu confus d’appeler tes points $x$, $y$ et $z$ quand tu mélanges cela avec les notations d’abscisse, d’ordonnée et de cote. Quand tu écris $x_y$, on est d’accord que tu penses à l’abscisse du point $y$ ?

En fait non, pour moi c’était l’ordonnée du point $x$ mais je ne crois pas que ce soit très grave pour la suite de ton message

Sinon, ton système de trois équations est censé te permettre de calculer des valeurs $a$, $b$, $c$ et $d$ valides. Ça ne va pas créer ton plan, mais te permettre d’avoir une formule qui vérifie si un point appartient au plan.

Il n’y a pas une seule solution $(a,b,c,d)$. Tu dois justement voir qu’en multipliant tous tes coefficients par un réel, tu gardes une équation équivalente.

  1. Valides pour quoi ?

  2. Donc pour créer un plan, concrètement je choisis des points à coordonnées $(x ; y)$ choisies arbitrairement, et je ne garde que ceux qui appartiennent au plan, donc qui vérifient cette équation ? Je me doute bien que ce n’est pas comme ça qu’il faut s’y prendre mais c’est ce que je comprends pour l’instant :lol:

Aussi, ce n’est pas que ça doit valoir 0, mais que c’est plus simple ainsi. Tu pourrais très bien imaginer une équation sous la forme $a \times x + b \times y + c \times z = d$, c’est pareil.

Pourquoi cette somme ? Il me semble qu’elle représente un produit scalaire entre un vecteur variable du plan et un vecteur normal au plan. Tu en as une démonstration ici. Les noms des coefficients sont ensuite choisis arbitrairement.

entwanne

En fait, je souhaitais plutôt une explication géométrique ou française, algorithmique, logique mais sans faire appel à des notions mathématiques. Je pense que cette équation peut être justifiée sans faire appel à d’autres équations ou égalités ou quoi non ? Avec des mots en français, comme une explication d’algo quoi.

En fait non, pour moi c’était l’ordonnée du point $x$ mais je ne crois pas que ce soit très grave pour la suite de ton message

The-Aloha-Protocol

Si, ça l’est un peu quand même. Car l’équation du plan (dans l’espace) s’applique aux 3 coordonnées d’un point, pas aux abscisses de 3 points différents.

  1. Valides pour quoi ?
The-Aloha-Protocol

Valides pour identifier ton plan. Pour te donner une image, c’est comme une fraction : il n’y en a pas une seule représentation possible.$\frac{1}{2}$ et $\frac{5}{10}$ sont les deux mêmes valeurs, tout comme plusieurs équations peuvent correspondre à un même plan.

  1. Donc pour créer un plan, concrètement je choisis des points à coordonnées $(x ; y)$ choisies arbitrairement, et je ne garde que ceux qui appartiennent au plan, donc qui vérifient cette équation ? Je me doute bien que ce n’est pas comme ça qu’il faut s’y prendre mais c’est ce que je comprends pour l’instant :lol:
The-Aloha-Protocol

Que veux-tu dire par « créer un plan » ?

Le plan, c’est un ensemble de points. Pour le définir, souvent, tu utilises trois points distincts, ou un point et deux vecteurs non-colinéaires (ce qui revient au même), ou un point et un vecteur normal, etc.

C’est comme ça que se définissent les points appartenant au plan : par une relation avec ces autres points/vecteurs.

En fait, je souhaitais plutôt une explication géométrique ou française, algorithmique, logique mais sans faire appel à des notions mathématiques. Je pense que cette équation peut être justifiée sans faire appel à d’autres équations ou égalités ou quoi non ? Avec des mots en français, comme une explication d’algo quoi.

The-Aloha-Protocol

Je ne comprends pas ce que tu veux. Tu cherches à formaliser l’équation sans utiliser de notions mathématiques ?

L’ensemble de points que représente le plan, c’est un ensemble avec des propriétés communes. Par exemple, celui que pour tout point du plan, la droite formée entre ce point et un autre point de référence soit toujours orthogonale à une droite de référence.


Edit : J’en étais venu à oublier la question initiale, celle que tu poses dans le titre du sujet (mais que tu ne reprends jamais plus tard).

Pour le tracer, il va te falloir identifier 3 points qui appartiennent au plan, et le voir comme un triangle étendu à l’infini. Mais trouver 3 points de manière générique à partir d’une équation cartésienne peut être un peu chiant, car il faut gérer les cas où $a$, $b$ ou $c$ valent 0. Le plus simple serait de pouvoir utiliser les équations paramétriques de ce plan.

Visiblement c’est pas trop clair ce que sont les objets qui forment la formule magique $ax+by+cz+d=0$. Je vais reprendre les réponses d’entwanne, mais à l’envers (anyway, mieux vaut se répéter un peu).

On est donc dans l’espace 3D. On va commencer par une simplification assez classique : au lieu de considérer tous les plans possibles, on va privilégier un point « origine » et considérer uniquement les plans qui le contiennent (on passe d’un problème « affine » à un problème « linéaire »).

  • Première question : comment on représente mathématiquement un point ? On va supposer qu’on a naturellement un repère orthonormé dans lequel on peut associer, comme d’habitude, un triplet de nombres réels $(x,y,z)$ à chaque point de l’espace, l’origine $O$ étant représentée par $(0,0,0)$.

  • Maintenant, comment on représente mathématiquement un plan contenant l’origine ? Considérons un point quelconque (on évite juste de prendre l’origine) de l’espace, disons $K$, représenté dans notre repère par le triplet $(x_K,y_K,z_K)$. Alors on peut lui associer naturellement un plan contenant l’origine : regardons l’ensemble des points $A$ tel que le vecteur $\overrightarrow{OA}$ est orthogonal à $\overrightarrow{OK}$. J’ai essayé de représenter la situation sur geogebra, cet ensemble est un plan contenant l’origine (tu peux bouger le point $K$ pour voir comment le plan varie). Réciproquement, on se convainc géométriquement qu’à tout plan de la sorte, on peut associer un point $K$ qui vérifie la propriété précédente.

  • Bon, mais d’où vient cette fameuse équation de plan ? Là on va utiliser l’outil algébrique qui permet d’écrire ce que veut dire pour deux vecteurs d’être orthogonaux à partir de leurs coordonnées : le produit scalaire. On sait que deux vecteurs $\vec{u}=(x_U,y_U,z_U)$ et $\vec{v}=(x_V,y_V,z_V)$ sont orthogonaux si et seulement si $x_Ux_V+y_Uy_V+z_Uz_V=0$ Avec les mêmes notations que précédemment, l’ensemble des points $A$ tel que $\overrightarrow{OA}$ est orthogonal à $\overrightarrow{OK}$ est exactement l’ensemble des points $A=(x_A,y_A,z_A)$ tel que $x_Kx_A+y_Ky_A+z_Kz_A=0$.

En fait, ça y est : on a notre équation de plan ! Mais il faut remarquer que le plan est défini par les réels $x_K,y_K$ et $z_K$, et qu’on exprime des conditions sur des coordonnées $(x_A,y_A,z_A)$ pour que le point $A$ correspondant appartienne au plan. Autrement dit, si deux points $A$ et $B$ sont dans le plan défini par $K$, on a le système d’équations :

$$\begin{cases} x_Kx_A+y_Ky_A+z_Kz_A=0\\ x_Kx_B+y_Ky_B+z_Kz_B=0 \end{cases}$$

Maintenant, si on note $a=x_K,b=y_K$ et $c=z_K$, on retrouve bien l’équation de plan :

$$ax+by+cz=0$$

ce qui veut dire qu’un point $(x,y,z)$ appartient au plan ainsi défini si et seulement si $ax+by+cz=0$ (les réels $a,b$ et $c$ étant trois paramètres intrinsèques au plan). En particulier, ces paramètres $(a,b,c)$ correspondent aux coordonnées d’un vecteur orthogonal au plan !

Il ne reste plus qu’à incorporer le fameux $d$, qui vient du fait qu’on considère en général des plans qui ne passent pas forcément par l’origine. Si on se donne un tel plan générique, on va essayer de translater tout l’espace pour se ramener au cas précédent. Privilégions un point $P$ du plan, et on translate tout de manière à ce que $P$ soit la nouvelle origine. Dans le nouveau repère, on a une certaine équation $(R')$ : $ax+by+cz=0$ du plan, ce qui donne dans l’ancien $(R)$ : $a(x+x_P)+b(y+y_P)+c(z+z_P)=0$. Dans ce cas $d=ax_P+by_P+cz_P$. Bon, il manque pas mal de réciproques à tout ce qu’on a fait, mais c’est vraiment la matière géométrique qu’il y a derrière.

ÉDIT : En revenant au problème de départ :

  • Si on veut savoir si un point $(x,y,z)$ appartient à un plan défini par $(a,b,c,d)$, on calcule $ax+by+cz+d$ et on vérifie que c’est bien égal à 0.
  • Si on veut déterminer les paramètres $(a,b,c,d)$ d’un plan à partir des coordonnées de trois points $A,B,C$ dont on sait qu’ils appartiennent au plan, on essaye de résoudre le système suivant (les inconnues sont $a,b,c,d$) :
$$\begin{cases} ax_A+by_A+cz_A+d=0\\ ax_B+by_B+cz_B+d=0\\ ax_C+by_C+cz_C+d=0 \end{cases}$$

Si $A,B,C$ ne sont pas choisis pathologiquement, l’ensemble des solutions du système est de dimension 1, donc il existe $(a_0,b_0,c_0,d_0)$ tel que c’est l’ensemble des $(\lambda a_0,\lambda b_0,\lambda c_0,\lambda d_0)$, avec $\lambda$ réel. Toutes ces solutions représentent une équation possible du même plan.

+0 -0

Si $A,B,C$ ne sont pas choisis pathologiquement, le système a une unique solution…

Lucas-84

Tu te retrouves tout de même fatalement face à une inconnue exprimée en fonction d’une autre, pour laquelle tu dois choisir une valeur arbitraire, non ? (et donc une infinité de solutions)

Merci ; effectivement, je m’étais embrouillé avec le cas $d=0$ sur la fin. J’ai édité.
Si on se place dans le cas d’un plan contenant 0, on n’a besoin que de deux points pour le déterminer, donc le système que j’avais écrit n’était clairement pas de rang 3. D’ailleurs ça aurait été assez inquiétant de récupérer une unique solution alors qu’on a pas trop unicité de l’équation du plan. ^^

Le système avec $d$ dedans est maintenant de la forme :

$$\begin{bmatrix} x_A & y_A & z_A & 1\\ x_B & y_B & z_B & 1\\ x_C & y_C & z_C & 1 \end{bmatrix}\begin{bmatrix} a\\ b\\ c\\ d \end{bmatrix}=0$$

Donc si $A,B,C$ sont choisis de manière à ce que leurs coordonnées soient libres (cas intéressant), le rang de la matrice de gauche est 3, et on obtient bien un espace de dimension 1 comme solution (ouf !).

Faudrait qu’on connaisse ton background en math pour te répondre efficacement, @The-Aloha-Protocol.

Un plan 2D dans un espace 3D est un "hyperplan" de cet espace 3D, car il est de dimension de l’espace -1. Une droite dans un espace 2D est un "hyperplan" de cet espace 2D.

Donc l’équation d’un plan, c’est la définition d’un plan, comme l’équation d’une droit sur le plan (espace 2D) est la définition de la droite.

Toute autre définition d’un plan est équivalente à celle utilisant l’équation du plan.

La définition d’une sphère centrée en C de rayon R dans l’espace 3D est défini par l’ensemble des points de l’espace respectant l’équation (xp-xc)2 + (yp-yc)2 + (xp-xc)2 = R2 . Pour le plan, c’est pareil.

Le plan existe, que tu l’affiches ou pas.

Tu peux très bien dire que tu affiches le plan juste en dessinant les droites entre les points A,B et C et laisser se démerder le cerveau de l’utilisateur pour qu’il fausse lui-même l’extension dans toutes les directions de l’espace et qu’il fasse les rectifications de perspectives nécessaires (le cerveau humain est balèze à combler les trous).

Mais, généralement, quand on affiche un plan 2D de l’espace 3D sur un écran 2D, il faut une projection (orthogonale, perspective, etc..) d’un carré ou d’un rectangle dans cette projection.

Maintenant, comment faire pour construire ce rectangle ou ce carré sans l’équation du plan ?

a, b, c et d sont des coefficients, si on les multiplie tous par un scalaire, l’équation est toujours vraie.

+0 -0

Bonsoir et merci pour vos réponses !

Dans un premier temps, je vais répondre à Lucas-84.

En fait, ça y est : on a notre équation de plan ! Mais il faut remarquer que le plan est défini par les réels xK,yKxK,yK et zKzK, et qu’on exprime des conditions sur des coordonnées (xA,yA,zA)(xA,yA,zA) pour que le point AA correspondant appartienne au plan. Autrement dit, si deux points AA et BB sont dans le plan défini par KK, on a le système d’équations :

  1. Je ne comprends pas pourquoi tu dis que $$K$$ définit le plan. Le plan est défini par l'équation que tu as trouvée (et que j'ai comprise), $$xKxA+yKyA+zKzA=0xKxA+yKyA+zKzA=0 .$$

  2. Du coup je ne comprends pas pourquoi tu veux trouver ce système : pourquoi ne pas te contenter de l’équation que tu viens de trouver (cf. ma puce n°1) ?

@bacelar : alors je ne sais pas ce qu’est un hyperplan entre autres, ton explication est assez bien mais personnellement je comprends mieux celle de Lucas =/ Mais merci quand même !

En fait dessiner un plan, c’est à la fois facile et difficile. Pour dessiner un point, tu prends 4 points disposés en losange, ou en carré, et tu les relies. Et voilà, sauf accident improbable, ces 4 points représentent ton plan. En effet, ces 4 points appartiennent forcément (sauf accident improbable) à ton plan. Le problème, c’est que le type qui va regarder ton dessin aura certainement beaucoup de mal à visualiser ton plan.

Et du coup, pour dessiner un plan, il faut que tu choisisses arbitrairement certains points, et des points bien choisis. Et selon le contexte, pour dessiner un plan d’équation ax+by+cz=d, on ne choisira pas toujours les 4 mêmes points.

Si tu dois dessiner 2 plans, le problème devient beaucoup plus simple. Parce que de façon évidente, tu vas déjà dessiner la droite d’intersection des 2 plans en questions, et tu vas dessiner 2 carrés, un dans chacun des 2 plans (des carrés dans l’espace, mais ce ne seront probablement pas des carrés dans ton dessin).

Avant de te lancer dans la programmation de tout ça, essaye déjà de le faire avec un papier et un crayon. Quand tu auras fait 10 ou 15 dessins et que ces 10 ou 15 dessins te donneront entière satisfaction, tu pourras passer à l’étape suivante, la mise en équations.

J’ai parlé d’hyperplan, c’est pour faire comprendre que la définition d’un plan c’est un hyperplan de l’espace 3D qui respecte l’équation qui te turlupines. C’est ça définition au plan. L’hyperplan dans un espace 1D (une droite), c’est juste un point sur la droite, qui est défini par une distance par rapport à un point "O" sur la droite. L’hyperplan dans un espace 2D, c’est une droite, qui est défini par l’ensemble des points (x,y) qui respecte l’équation de la droite dans le plan. Idem en 3D, un plan, c’est l’ensemble des points (x,y,z) qui respectent l’équation du plan. L’équation d’un plan est toujours de la forme "ax + by + cz + d = 0", par définition d’un hyperplan dans un espace XD avec X = 3. Après, il faut déterminer (a,b,c,d) pour que pour (xA,yA,zA), (xB,yB,zB) et (xC,yC,zC) soit toujours égal à 0 (sinon A, B ou C ne fait pas partie du plan, donc c’est pas bon). On sait qu’un point D est coplanaire avec (A,B,C) si (xD,yD,zD) est aussi solution de l’équation de plan "ax + by + cz + d = 0" avec (a,b,c,d) correspondant à la résolution de l’équation pour les point A, B, et C.

En clair, cette équation est la définition d’un ensemble de point qu’on appel plan. Dans des espaces non euclidien, (hyperbolique, gaussien etc…), la définition restera la même mais dans ces espaces, un "plan" ne ressemblera pas à une "planche" mais à des sphères ou des trucs encore plus chelou, mais toujours respectant cette définition.

Après, c’est de l’outillage pour trouver ce quadruplet (a,b,c,d) de l’équation du plan que nous cherchons.

  1. Je ne comprends pas pourquoi tu dis que $$K$$ définit le plan. Le plan est défini par l'équation que tu as trouvée (et que j'ai comprise), $$xKxA+yKyA+zKzA=0xKxA+yKyA+zKzA=0 .$$

  2. Du coup je ne comprends pas pourquoi tu veux trouver ce système : pourquoi ne pas te contenter de l’équation que tu viens de trouver (cf. ma puce n°1) ?

The-Aloha-Protocol

C’était probablement assez maladroit de ma part d’introduire le système à ce moment-là ; effectivement on a déjà l’équation de plan (d’ailleurs quand on écrit $a=x_K,b=y_K,c=z_K$ juste en-dessous, on n’a pas besoin du système). Il faut simplement garder à l’esprit que dans ton problème (à savoir : tu connais trois points $A,B,C$ qui sont dans le plan), $(x_K,y_K,z_K)$ est a priori inconnu. Résoudre le système détaillé à la fin de ma réponse est une manière possible de trouver une équation de plan à partir de ces données (même si ce n’est pas forcément la méthode la plus géométrique).

Un plan est constitué d’une infinité de point. Tu semble être plus à laisse avec les principes de la programmation 3D qu’avec les mathématiques associés. Si ton problème est de l’affichage, alors c’est fonction des conventions de représentation d’un plan. Je pense que même cela est une chose qui change d’une "culture" à l’autre, même si c’est des mathématiques. Une convention habituelle de représentation d’un plan, en France, est de dessiner une rectangle "projeté" constitué de 4 points "remarquables" du plan. Soit a, b, c et d des scalaires, les coordonnés des sommets du rectangle dans un référentiel du plan serait A(a,b) B(a,c) C(d,b) et D(d,c). On calcul les coordonnées dans l’espace 3D, puis on projette cet espace 3D dans l’espace de l’écran. Ça parait compliqué mais les calculs matriciels que savent faire nos GPU font cela sans problème.

Dans Wikipédia(fr), ils ont préférés afficher une grille dans un rectangle projeté : https://fr.wikipedia.org/wiki/Plan_(math%C3%A9matiques)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte