Equation de cercle dans l'espace

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Madlord
Membre Naturel
Messages: 35
Enregistré le: 06 Oct 2008, 12:32

Equation de cercle dans l'espace

par Madlord » 26 Mar 2014, 13:30

Bonjour,
Dans le but d'implémenter un algorithme, je cherche à calculer le cercle inscrit dans un triangle. Trouver le centre est simple, pour un triangle ABC le centre I du cercle aura comme coordonnées . Le rayon r du cercle se calcule en faisant où a b et c sont les longueurs des côtés du triangle et S est la surface du triangle. La surface peut se calculer en faisant .

Le problème est que je veux savoir si un point appartient ou non au cercle, il me faut donc l'équation de ce cercle, comment la trouver ?



arnaud32
Membre Irrationnel
Messages: 1982
Enregistré le: 18 Oct 2010, 14:43

par arnaud32 » 26 Mar 2014, 13:33

c'est l'intersection de la sphere de centre I et de rayon r et du plan du triangle

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

par chan79 » 26 Mar 2014, 14:00

arnaud32 a écrit:c'est l'intersection de la sphere de centre I et de rayon r et du plan du triangle

Pour savoir si un point M appartient au cercle, on pourrait voir si le déterminant des trois vecteurs , et est nul et si IM=r

Madlord
Membre Naturel
Messages: 35
Enregistré le: 06 Oct 2008, 12:32

par Madlord » 26 Mar 2014, 14:13

chan79 a écrit:Pour savoir si un point M appartient au cercle, on pourrait voir si le déterminant des trois vecteurs , et est nul et si IM=r

Si j'ai bien compris, il faut faire le produit mixte des vecteurs qui nous indique si le point M est dans le plan.

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

par chan79 » 26 Mar 2014, 14:16

Madlord a écrit:Si j'ai bien compris, il faut faire le produit mixte des vecteurs qui nous indique si le point M est dans le plan.

oui, le produit mixte est nul si les trois vecteurs sont dans un même plan.

Madlord
Membre Naturel
Messages: 35
Enregistré le: 06 Oct 2008, 12:32

par Madlord » 26 Mar 2014, 15:05

Maintenant, Si le problème est inverse, on cherche à trouver un point qui vérifie cette propriété, comment faire ?

DamX
Membre Rationnel
Messages: 630
Enregistré le: 02 Oct 2012, 13:12

par DamX » 26 Mar 2014, 15:48

Madlord a écrit:Maintenant, Si le problème est inverse, on cherche à trouver un point qui vérifie cette propriété, comment faire ?

Bonjour,

Et bien c'est la même chose, considérer M(x,y,z) inconnu te donne deux équations sur M avec les deux contraintes de coplanéarité et de distance. L'ensemble des points M que tu cherches est l'ensemble des solutions de ce système à deux équations.

Si tu cherches explicitement à les calculer, tu sais que tu as un cercle, tu connais son centre et deux rayons du disque donc tu peux te servir de ça pour exhiber une paramétrisation sans résoudre le système.

A la louche : M(t) = I + r*V(t)/|V(t)|, avec V(t) = cos(t).IA + sin(t).IB et t entre 0 et 2 Pi. C'est pas ce qu'il y a de plus "propre", on pourrait se ramener à deux vecteurs orthogonaux plutôt que de prendre IA et IB brutalement, mais ça marche, tu récupères l'ensemble de tes points ainsi.

PS : je viens de voir que c'était pour un algo, tu voudras sans doute avoir une paramétrisation canonique du cercle, auquel cas il vaut mieux prendre IA et un vecteur orthogonal à IA (à la place de IB dans mon exemple), comme IB-(IB.IA)IA/|IA|².

Damien

Madlord
Membre Naturel
Messages: 35
Enregistré le: 06 Oct 2008, 12:32

par Madlord » 26 Mar 2014, 16:02

D'accord, merci.

Madlord
Membre Naturel
Messages: 35
Enregistré le: 06 Oct 2008, 12:32

par Madlord » 26 Mar 2014, 17:09

DamX a écrit:PS : je viens de voir que c'était pour un algo, tu voudras sans doute avoir une paramétrisation canonique du cercle, auquel cas il vaut mieux prendre IA et un vecteur orthogonal à IA (à la place de IB dans mon exemple), comme IB-(IB.IA)IA/|IA|².


Pour calculer le vecteur orthogonal la formule est bien : . J'ai essayé avec IB mais je n'obtiens pas le cercle inscrit dans le triangle.

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

par chan79 » 26 Mar 2014, 17:23

Madlord a écrit:Bonjour,
Dans le but d'implémenter un algorithme, je cherche à calculer le cercle inscrit dans un triangle. Trouver le centre est simple, pour un triangle ABC le centre I du cercle aura comme coordonnées . ?

J'avais pas fait gaffe:
I=(A+B+C)/3 te donne le centre de gravité de ABC et non le centre du cercle inscrit

I est le barycentre de A, B et C, avec comme coefficients les longueurs des côtés opposés

DamX
Membre Rationnel
Messages: 630
Enregistré le: 02 Oct 2012, 13:12

par DamX » 26 Mar 2014, 17:24

Madlord a écrit:Pour calculer le vecteur orthogonal la formule est bien : . J'ai essayé avec IB mais je n'obtiens pas le cercle inscrit dans le triangle.

Non,

c'est de sorte que


EDIT suite à la réponse de Chan : en effet si le centre n'est pas le bon ça ne va pas donner le cercle inscrit.

Damien

Madlord
Membre Naturel
Messages: 35
Enregistré le: 06 Oct 2008, 12:32

par Madlord » 26 Mar 2014, 17:38

Euh oui, je me suis trompé là, en recherchant j'ai trouvé les équation :


Merci de vos réponses.

Je ne comprends pas ce qui ne va pas, une fois implémenté j'obtiens ce résultat (il est normal de voir qu'à l'intersection entre le cercle et le triangle la couleur alterne, comme les coordonnées sont les mêmes OpenGL ne sait pas quel polygone afficher).
Image

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 31 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite