[Résolu] Géométrie 3D: tangente d'un cercle

Fil fermé
Partager Rechercher
Dans le même délire un peu, si des matheux ont envie de perdre un peu de temps, je cherchais l'autre jour les coordonnées du centre de chaque surface d'un dodécaèdre régulier centré en l'origine... Pas réussi à aller jusqu'au bout ^^
J'ai beau regardé le "dessin" je vois tantôt le point B dans la boule de centre A ,
puis ensuite sur le second dessin sur sa périphérie .

Mettons que le point B soit à l'intérieur de la boule ( de toute s'il était en périphérie cela n'aurait aucun sens) et que tu souhaiterais créer la mini-boule de centre B et tangent à la boule de centre A.
Le point B est à une certaine distance de A ( c'est une donnée du problème normalement) donc la boule tangente à celle de A de centre B aura pour rayon : Rayon A - d(A,B) et son équation est du type (x-xb)²+(y-yb)²+(z-zb)²= [Rayon A -d(A,B)]²
Je lis que ce sera une cercle plutôt qu'une boule le tout dans le plan (x, z) , on virera donc les coordonnées en y.

Il n'y aura pas d'utilité de passer par le plan tangent aux deux cercles .

Espérons que le point B ne "bouge" pas sinon il faudra exprimer les coordonnées de B sous une forme paramétrique ( et si elles dépendent de x,y ou z, le modèle est à revoir complètement )

Voila comment je vois midi à ma porte


Edit : je viens de voir tes beaux graphiques plus bas, décryptage en cours
Ton repère (i,j,k) est un repère mobile = lié à un point sur la surface de la sphère ?

Sinon pour ta rotation suivant l'axe x
tu peux toujours utiliser la forme matricielle de la rotation d'angle c

( 1 0 0)
( 0 cos(c) -sin(c) )
( 0 sin(c) cos(c) )


Mince en regardant tes 4 boules je crois avoir saisi que j'avais rien compris à la base
On dirait que sur le plan tangent à un point ( B?) de la surface de la sphère, tu dessines un cercle d'un rayon inconnu r .
Et tu animerais l'ensemble d'un mouvement de rotation .
Pour avoir l'équation de ce cercle, oui il y a du boulot ....
une forme paramètrée consisterait à dire que c'est l'ensemble des point M tel que 1) ||BM||=r et que 2) M(xm,ym,zm) appartient au plan normal en B dont l'équation est (x-xa)(xb-xa)+(y-ya)(yb-ya)+(z-za)(zb-za)=R² avec A( xa;ya;za) et R rayon de la grosse boule.
Il faudrait trouver le bon repère pour que l'écriture de ces deux conditions permette la meilleure résolution sinon utiliser brutalement remplacer les coordonnées de M dans chacunes
1) (xm-xb)²+(ym-yb)²+(zm-zb)²=r²
2) (xm-xa)(xb-xa)+(ym-ya)(yb-ya)+(zm-za)(zb-za)=R²
manquerait une équation vu que j'ai 3 inconnus AB.BM=0 ?
système de 3 équations à 3 inconnues non linéaires

J'espère que quelqu'un trouvera plus simple
Je me demande même si j'avais trouvé un résultat ce que tu en aurais fait ,
car par programmation je pense pas que tu parles de C, C# ou C++

Dernière modification par MoaYs ; 29/05/2013 à 22h30.
Citation :
Je connais le point A et le point B, je souhaite placer un cercle (2D - en rouge) sur la tangente (au point B donc), il faut donc que je calcule sa rotation.
Je pars d'un cercle défini en X Z (Y étant la hauteur).
Je comprends pas le problème, il suffit de tracer ton cercle au point B de façon à ce que tous ses points soient dans le plan orthogonal par rapport à ta droite AB (Cf poste de Sergul), ou plutôt que le vecteur directeur de la droite AB soit orthogonal à ce plan (qui passe par B). Et si tu dois le déplacer par rapport à un endroit où il était avant il suffit de paramétrer son déplacement (en faisant bouger les coordonnées de son centre sur son équation) pour qu'il se déplace de son point de départ vers les coordonnées de B selon des contraintes que tu lui définis (à partir d'une loi physique que tu imposes ou un truc totalement arbitraire).

Dernière modification par Irvy ; 29/05/2013 à 21h28.
Salut
dans ton logiciel de 3D tu es obligé de faire tourner ton cercle par rapport à son centre? tu peux pas le faire tourner par rapport au centre de la sphère de base? Dans Ogre3D tu peux donc bon dans Irrlicht tu dois pouvoir...
dans le 2eme cas c'est assez simple: tu as les coordonnées sphériques du point B facilement et ça te donne direct les angles de rotation de ton cercle par rapport au centre de la sphère
dans le 1er cas c'est très chiant et normalement tous les logiciels de 3D sont fait pour pas que l'on ait à faire manuellement le calcul du changement de coordoonées locales / globales.
En fait ce qu'il va se passer dans le 1er cas c'est que comme ton repère est mobile (c'est celui du cercle que tu tournes), lorsque tu vas faire la 1ere rotation autour du 1er axe, ton repère mobile ne va plus être parallèle avec le repère de base, donc la 2eme rotation ne vas pas te donner le truc correct

Dernière modification par lezebulon ; 29/05/2013 à 22h32.
Citation :
Publié par ID_
Dans le même délire un peu, si des matheux ont envie de perdre un peu de temps, je cherchais l'autre jour les coordonnées du centre de chaque surface d'un dodécaèdre régulier centré en l'origine... Pas réussi à aller jusqu'au bout ^^
Ca doit pas être hyper dur ça. Tu fais le vecteur normal à une surface, tu regardes lequel en particulier passe par l'origine, boum. Ensuite tu fais l'intersection de ce vecteur avec un vecteur qui passe par le centre de la surface, bim bada boum.
gUFlypo.jpg

Ce que j'ai fait pour l'instant:
Pour la position, je normalise le vecteur AB et je multiplie le vecteur normalisé par le rayon de la sphère.
J'ai utilisé un angle d'euler qui calcule 2 angles par rapport à (0,1,0) par AB.
Ensuite je fais une rotation par rapport au résultat du calcul des coordonnées sphériques (d'euler, donc).

Ca marche très bien sur un axe unique et ça déconne le reste du temps. Je vais essayer d'autres solutions.
Quand je ne joue pas avec X, ça fonctionne.
Quand je joue avec X, l'axe qui est OK est a 45° de l'axe sans X, c'est assez wtf.

Citation :
Publié par lezebulon
Salut
dans ton logiciel de 3D tu es obligé de faire tourner ton cercle par rapport à son centre? tu peux pas le faire tourner par rapport au centre de la sphère de base? Dans Ogre3D tu peux donc bon dans Irrlicht tu dois pouvoir...
dans le 2eme cas c'est assez simple: tu as les coordonnées sphériques du point B facilement et ça te donne direct les angles de rotation de ton cercle par rapport au centre de la sphère
dans le 1er cas c'est très chiant et normalement tous les logiciels de 3D sont fait pour pas que l'on ait à faire manuellement le calcul du changement de coordoonées locales / globales.
En fait ce qu'il va se passer dans le 1er cas c'est que comme ton repère est mobile (c'est celui du cercle que tu tournes), lorsque tu vas faire la 1ere rotation autour du 1er axe, ton repère mobile ne va plus être parallèle avec le repère de base, donc la 2eme rotation ne vas pas te donner le truc correct
La rotation du node se fait par rapport au node parent. Si il n'y en a pas, c'est 0,0,0. Et c'est la solution que j'ai faite et qui ne marche que partiellement.

Edit:

Alors j'ai trouvé une pseudo solution.
Je récupère les coordonnées sphériques et pour l'angle Y, je fais: angle=90-angle.
A noter que la solution ne marche pas dans certains cas particuliers (angle = 0 et angle = 180).

Vlà le resultat final (les axes sont là juste pour faire joli)
N9ZyT8N.jpg

Dernière modification par Neirdan ; 30/05/2013 à 06h29.
Citation :
Publié par Kam'
Ca doit pas être hyper dur ça. Tu fais le vecteur normal à une surface, tu regardes lequel en particulier passe par l'origine, boum. Ensuite tu fais l'intersection de ce vecteur avec un vecteur qui passe par le centre de la surface, bim bada boum.
Merci, ca fait que 3 ans que j'ai arrêté les maths
Tu me trucides si je dis que je comprends rien à tes axes ?

Sinon j'ai pas compris un truc :

Citation :
Pour la position, je normalise le vecteur AB et je multiplie le vecteur normalisé par le rayon de la sphère.
A c'est le centre et B un quelconque point sur la sphère. Donc le vecteur AB a déjà pour norme le rayon de la sphère, pourquoi le normaliser et re multiplier par R ?
Citation :
Publié par Sergul
Tu me trucides si je dis que je comprends rien à tes axes ?

Sinon j'ai pas compris un truc :



A c'est le centre et B un quelconque point sur la sphère. Donc le vecteur AB a déjà pour norme le rayon de la sphère, pourquoi le normaliser et re multiplier par R ?
J'ai fini par comprendre ( enfin je pense) en te lisant et décortiquant les 4 drôles de mesh .
Par contre on ne connait pas le rayon du cercle sur l'hémisphère ce n'est pas un cercle tangent à la grosse boule et ce cercle n'appartient pas au plan normal à la sphère.
Il y a une calotte ( partie colorée en rouge) sur l'hémisphère dont la base est bien un cercle dont le rayon est indéterminable .

Son point B n'est pas à la surface du cercle il est placé sur le rayon de manière à être le centre d'une petite boule qui coupera la grosse en un cercle ( cf le premier dessin ) . Donc il normalise correctement le vecteur AB

Si cette interprétation tient la route, le mini-cercle est l'intersection de deux sphères S1(A,R) et S2(B,r)
On doit pouvoir obtenir l'equation du cercle en passant en coordonnées sphériques
Il y aura bien le problème des pôles à traiter sous forme d'exception
car les coordonnées sphériques ne représentent pas une bijection de R3 dans R3 ( R3 = RxRxR ou R est l'ensemble des réels )




Merci de tes efforts Neirdan, pas évident de nous faire comprendre ce que tu voulais .
En plus cela a l'air prometteur .

Dernière modification par MoaYs ; 30/05/2013 à 10h41.
Ah vu comme ça ouais ça a un peu de sens, encore que ça parait à 1000 lieux de l'énoncé de base.

Mais si c'est bien ça alors c'est très simple de trouver l'équation du cercle, même pas besoin de passer en coordonnées sphériques. C'est exactement le même principe que ce que j'ai dit plus haut : equationGrandeSphere = equationPetiteSphere, on simplifie, et on obtient l'équation du cercle.
Citation :
Publié par Sergul
Ah vu comme ça ouais ça a un peu de sens, encore que ça parait à 1000 lieux de l'énoncé de base.

Mais si c'est bien ça alors c'est très simple de trouver l'équation du cercle, même pas besoin de passer en coordonnées sphériques. C'est exactement le même principe que ce que j'ai dit plus haut : equationGrandeSphere = equationPetiteSphere, on simplifie, et on obtient l'équation du cercle.

ça marchera mal ton équation en coordonnées cartésiennes ,
tu obtiendras l'équation d'un plan ( ax+by+cz =d).
Ce sera le plan qui contiendra le cercle recherché mais pas l'équation du cercle .
Mais on va dans la bonne direction :
mieux vaut l'intersection de ton plan et d'une boule quelconque , que celle de deux boules

Dans le système d'équations obtenu avec le plan et une sphère,
il faudra probablement isoler une composante dans le plan x, y ou z et le réinjecter dans l’équation d'une des deux sphères pour obtenir une équation à mettre sous la forme ( x-?)²+(y-?)² = ?
( probablement qu'il faudra chercher la forme réduite : termes carrés et aucun terme en xy ou xz ou yz )

C'est l'écriture d'un cylindre à base elliptique (circulaire dans le bon repère),
une fois dans le bon repère en extraire le rayon .
En truandant un peu : quand on a le centre du cercle B et son rayon, l'équation de la sphère est immédiate.

ça me parait trop long comme méthode , il devrait y avoir une astuce
soit coordonnées sphériques ( simple à écrire pour une conique) ou autres ...

Si on regarde la figure on voit que le rayon = racine( R²-||AB||² ) un cht'i Pythagore
Donc on se fiche de tout les calculs d'avant on a le centre du cercle et son rayon
et l'équation du cercle dans le plan d'intersection des deux sphères devrait s'écrire simplement.

remarque: le plan résultant de l'intersection des deux sphères et un plan // au plan normal à la sphère suivant AB
il s'obtient donc par simple translation de vecteur U = (||AB||-R) AB/||AB||
Donc il n'y avait pas besoin de calculer grandcercle-petitcercle=0 étant donné que l'équation du plannormal à une sphère en un point est un résultat connu.
Au final je comprends mieux leur histoire ( lezebulon et Neirdan) de manipulation de logiciels où ils bougent des flèches , rotation de nodes et je en sais trop quoi encore

Dernière modification par MoaYs ; 30/05/2013 à 14h05.
Citation :
Publié par MoaYs
ça marchera mal ton équation en coordonnées cartésiennes ,
tu obtiendras l'équation d'un plan ( ax+by+cz =d).
Ce sera le plan qui contiendra le cercle recherché mais pas l'équation du cercle .
Ouais j'viens de voir ça, j'suis un peu sur le cul là je comprends pas trop pourquoi. Théoriquement ça devrait nous donner l'intersection entre les deux sphères, donc le cercle, non ?

M'enfin si on a ce plan, le centre du cercle, et son rayon, alors on peut en déduire l'expression du cercle.
Citation :
Publié par Sergul
Tu me trucides si je dis que je comprends rien à tes axes ?
http://fr.wikipedia.org/wiki/Angles_d%27Euler
En fait, la géométrie 3D (pour le développement 3D) est légèrement différent de la géométrie dans l'espace, car comme dit plus haut:
-Il y a un "sens" aux objets
-Les rotations sur axes X (YZ) Y (XZ) Z (XY) sont par rapport au parent (ce que j'appelle node, ou noeud en français). La même pour les positions.
-La terminologie employée est une hérésie mathématique apparemment

Mon B actuellement, c'est la position absolue (donc par rapport à 0,0,0) de la caméra, du coup je normalise et je multiplie par rayon+10 unités (parce que y'a pas d'unité de valeur tel que le centimètre dans le dev 3D) pour éviter la collision des mesh, ca donne un résultat moche visuellement.

Le truc c'est qu'on s'en fiche du rayon du cercle rouge, tout ce qu'on a, c'est la position de la sphere (la terre) et la position de la caméra (B) qui forme un vecteur. A partir de ces données il faut positionner le cercle (le mesh rouge) puis le faire effectuer une rotation (par rapport aux axes 1,0,0 & 0,1,0 - pas la peine de faire de rotation en Z comme ça a été dit précédemment); pour ca j'utilise les coordonnées sphériques - donc les angles d'euler.

On ne cherche pas à obtenir l'équation du cercle rouge ni sa taille, on cherche à positionner (ca c'est facile) et rotationner (ca c'est pas facile) quelque chose de déjà existant selon le plan tangent à la sphère qui passe par B.

Pour info, la sphère a un rayon de 6371, le cercle de 1000 (j'insiste sur le mot rayon, histoire qu'on me dise pas "OLOL MAUVAISE ECHELLE")
Citation :
Publié par Sergul
Ouais j'viens de voir ça, j'suis un peu sur le cul là je comprends pas trop pourquoi. Théoriquement ça devrait nous donner l'intersection entre les deux sphères, donc le cercle, non ?

M'enfin si on a ce plan, le centre du cercle, et son rayon, alors on peut en déduire l'expression du cercle.
Le problème vient que tu es passé d 'un système à une équation,
ce faisant tu as largué plein d'infos en route
Un peu de la même manière que lorsque parle de système équivalent ou de relation qui s'en déduit ( différence entre <=> et => équivalence et implication)

Un cercle dans l'espace suivant son repère c'est à 99,999% du temps une ellipse.
Si tu n'as que deux variables dans l'espace c'est que c un cylindre à base indeterminé dans ton cas cela aurait été elliptique
Il faut fixer la troisieme variable pour obtnir une vraie surface.
Je ne sais pas si tu te souviens du paramétrage d'une simple droite dans le plan , quelque chose dont la complexité n'a rien avoir avec les droites dans le plan .
L'espace c'est le mal, et t'as beau crié ......

Oui Neirdan j'avais bien compris qu'on était à la croisée de deux mondes ,
l'un de type appliqué avec son jargon technique et l'autre dont il est issu celui des mathématiques.
Il n'empêche que lorsque tu racontes ce que tu fais avec ton soft, c'est un discours cabalistique .
Presque un faux sujet matheux.

Dernière modification par MoaYs ; 30/05/2013 à 15h12.
Sergul et MoaYs je pige RIEN à ce que vous racontez, c'est un truc de ouf... y'a pas besoin de se prendre la tête là, c'est juste un problème de référentiel

Pour Neirdan : ton truc à l'air de fonctionner, ce que je disais plus haut revient à prendre comme "node parent" le centre de ta sphère. Normallement tu places juste ton cercle rouge au "pole nord", et tu fais une rotation par rapport à son node parent selon les coordonnées sphériques de ton point B.
Ca te déplace donc naturellement le centre de ton cercle au point B et ça te met dans le bon angle. Pas besoin de faire une translation "manuelle" du cercle rouge pour le mettre au niveau des coordonnées du point B, ça va se faire tout seul lors de la rotation

cf cette applet , ton cercle rouge est placé sur le plan formé par le vecteur rouge et bleu. Tu l'initialise au niveau "pôle nord" (que tu vois quand tu prend les angles égaux à 0) et après tu fais faire par rapport au centre de la sphère la même rotation que celle du point B. Ca te place ton cercle à l'endroit voulu, pas besoin de translation

Dernière modification par lezebulon ; 30/05/2013 à 21h27.
Citation :
Publié par lezebulon
Sergul et MoaYs je pige RIEN à ce que vous racontez, c'est un truc de ouf... y'a pas besoin de se prendre la tête là, c'est juste un problème de référentiel

Pour Neirdan : ton truc à l'air de fonctionner, ce que je disais plus haut revient à prendre comme "node parent" le centre de ta sphère. Normallement tu places juste ton cercle rouge au "pole nord", et tu fais une rotation par rapport à son node parent selon les coordonnées sphériques de ton point B.
Ca te déplace donc naturellement le centre de ton cercle au point B et ça te met dans le bon angle. Pas besoin de faire une translation "manuelle" du cercle rouge pour le mettre au niveau des coordonnées du point B, ça va se faire tout seul lors de la rotation
Bah moi je pige rien à ce que raconte Neirdan, pareil pour MoaYs, j'abandonne

J'ai jamais fait de 3D, s'pas mon domaine. Je pensais avoir simplement affaire à de la géométrie de l'espace, et non seulement c'est pas le cas, mais en plus j'me suis planté sur mon équation de cercle, alors j'vais me cacher.
Citation :
Publié par Sergul
Je pensais avoir simplement affaire à de la géométrie de l'espace, et non seulement c'est pas le cas, .
ben si c'est le cas.... y'a vraiment rien lier à de l'informatique ou des logiciels 3D là, c'est juste que lui il prend des axes de rotations qui sont pas à l'origine....

Pour l'équation du cercle, faut se souvenir que c'est
(x-a)² + (y-b)² + (z-c)² = r² à égaliser avec
(x-a')² + (y-b')² + (z-c')² = R²
je pense que vous avez du oublier les rayons pour que ça se simplifie et donne du 1er degré.
Là selon les centres et les rayons ça donne soit rien, soit un cercle, soit un point, soit... une sphère. Donc c'est normal qu'on retrouve pas direct l'équation d'un cercle dans l'espace
Citation :
Publié par lezebulon
ben si c'est le cas.... y'a vraiment rien lier à de l'informatique ou des logiciels 3D là, c'est juste que lui il prend des axes de rotations qui sont pas à l'origine....

Pour l'équation du cercle, faut se souvenir que c'est
(x-a)² + (y-b)² + (z-c)² = r² à égaliser avec
(x-a')² + (y-b')² + (z-c')² = R²
je pense que vous avez du oublier les rayons pour que ça se simplifie et donne du 1er degré.
Là selon les centres et les rayons ça donne soit rien, soit un cercle, soit un point, soit... une sphère. Donc c'est normal qu'on retrouve pas direct l'équation d'un cercle dans l'espace
Juste pour précision , personne n'a oubliez les rayon ,
il y a une petite transformation à faire :
(x-a)² + (y-b)² + (z-c)² -r²=0
(x-a')² + (y-b')² + (z-c')² -R² =0
la simple différence fait partie les termes de degré 2 et laisse l'équation d'un plan.
Mais on a perdu de l'information car on est passé d un système de 2 équations à 1 seule équation ce qui rendait perplexe Sergul .
Te cache pas, sans toi, j'aurais encore moins compris avant qu'il ne fasse sa mappemonde

Pour la rotation, votre soft utilise probablement des calculs matricielles ou comme on est en informatique une méthode minimisant l'erreur (à base de développement limité du cos et sin)

Dans l'espace ( repère non favorable) tu as peu de chance de voir un cercle ,
ça va presque dans tout les cas une ellipse ( un cercle dont le plan n'est pas perpendiculaire à l'axe des yeux ).

Comme je disais, c'est trop technique votre truc avec un jargon qui surprend .

mais je comprends ue pour vous on doit passer pour des extra-terrestre vu que les manip sont "relativement simple" sur le soft
mais pas mal de souçi si on essaie de retrouver à la main le fonctionnement de votre soft.
Y'a des mecs qui se sont arraché les yeux à programmer visiblement avec les angles d'Euler votre soft
et se taper le caca-boudin qu'on vient de regurgiter, enrobé le tout avec un jargon maison, une interface conviviale et le tour est joué

Dernière modification par MoaYs ; 30/05/2013 à 22h34.
J'ai envie de dire que tu dis n'imp, je comprend pas la moitié de tes phrases
Citation :
Publié par MoaYs
Pour la rotation, votre soft utilise probablement des calculs matricielles ou comme on est en informatique une méthode minimisant l'erreur (à base de développement limité du cos et sin)
C'est quoi le rapport? C'est pas un problème de précision numérique là, heuresement qu'on peut faire la rotation qu'il demande avec la précision nécessaire
Citation :
Publié par MoaYs
Dans l'espace ( repère non favorable) tu as peu de chance de voir un cercle ,
ça va presque dans tout les cas une ellipse ( un cercle dont le plan n'est pas perpendiculaire à l'axe des yeux ).
Ca veut rien dire ton truc, un cercle dans l'espace c'est un cercle. IRL tu vois un cerceau par terre tu dis pas que c'est une ellipse...

Citation :
Publié par MoaYs
Comme je disais, c'est trop technique votre truc avec un jargon qui surprend .
Y'a rien de technique, justement tout est fait pour que l'on puisse choisir à partir d'ou faire les rotations pour éviter les changements de repères... je vois pas de jargon non plus

Citation :
Publié par MoaYs
mais je comprends ue pour vous on doit passer pour des extra-terrestre
effectivement, mais c'est parce que vous partez dans des délires alors que la question est hyper simple

Citation :
Publié par MoaYs
mais pas mal de souçi si on essaie de retrouver à la main le fonctionnement de votre soft.
ben là c'est juste un changement de repère
Oui j'ignorais qu'on pouvait comme ça perdre des données en passant de deux équations à une seule. Pour moi t'as P(x) = 0 et P'(x) = 0, bah t'écris P(x) = P'(x) et tu simplifies. J'ai jamais été confronté à ce problème je crois. La perte d'information en quelque sorte elle a lieu du fait que tu passes d'une forme tri dimensionnelle à une forme bi-dimensionnelle, m'enfin :/

Et je comprends pas non plus ton histoire d'ellipse. Un cercle est un cercle, maintenant forcément qu'en bougeant le repère ça paraîtra une ellipse, mais ça change rien au fait que dans ton repère de base, ça reste un cercle.

En tout cas le jargon mathématique je comprends, par contre le jargon 3D je capte rien, et pourtant j'suis dans l'informatique aussi, mais jamais touché de près ou de loin à la 3D.
Citation :
Publié par Sergul
La perte d'information en quelque sorte elle a lieu du fait que tu passes d'une forme tri dimensionnelle à une forme bi-dimensionnelle, m'enfin :/
Non pas vraiment, c'est juste que tu fais une déduction à partir de 2 contraintes, ça veut pas dire que ta déduction contient les contraintes originales. Ca implique pas forcémment une perte de dimension (par ex si tes 2 sphères sont confondues l'intersection c'est une sphère donc c'est pas bi-dimensionel)
Citation :
Publié par lezebulon
Pour Neirdan : ton truc à l'air de fonctionner, ce que je disais plus haut revient à prendre comme "node parent" le centre de ta sphère. Normallement tu places juste ton cercle rouge au "pole nord", et tu fais une rotation par rapport à son node parent selon les coordonnées sphériques de ton point B.
Ca te déplace donc naturellement le centre de ton cercle au point B et ça te met dans le bon angle. Pas besoin de faire une translation "manuelle" du cercle rouge pour le mettre au niveau des coordonnées du point B, ça va se faire tout seul lors de la rotation
En fait, dans ce cas ci, c'est le node parent qu'il faut tourner, pas le node enfant. J'ai dev une camera maya qui pointe sur un node vide et pour me simplifier la vie je tourne le node parent. C'est le même principe pour une camera TPS, j'aime pas avoir le node caméra lié au node perso du coup mon camtarget est un node parent vide.
Par curiosité je vais faire le test.

Dernière modification par Neirdan ; 31/05/2013 à 01h25.
Citation :
Publié par Neirdan
En fait, dans ce cas ci, c'est le node parent qu'il faut tourner, pas le node enfant. J'ai dev une camera maya qui pointe sur un node vide et pour me simplifier la vie je tourne le node parent. C'est le même principe pour une camera TPS, j'aime pas avoir le node caméra lié au node perso du coup mon camtarget est un node parent vide.
Par curiosité je vais faire le test.
Je me quote parce que j'aime avoir raison .

Effectivement, il faut que le node du cercle soit enfant d'un autre node (mais pas la sphère), positionné en 0,R,0 (avec R = AB), et la rotation doit être celle du node parent.
L'avantage d'utiliser un node parent c'est qu'il n'y a pas besoin de faire de repositionnement, comme tu l'avais dit lezebulon.

Par contre, je retrouve toujours les mêmes cas particuliers, mais rien de grave vu que j'ai déjà le correctif.

Dernière modification par Neirdan ; 31/05/2013 à 04h07.
La tangeante a une boule dans l'espace c'est un plan perpendiculaire au rayon que tu consideres. Du coup c'est facile, tu prends la position x,y,z de ton rayon (centre sur 0,0,0 pour le centre de la boule), tu multiplies par la transfo orthogonale a,b,c qui represente la rotation du rayon, puis tu calcule le systeme lineaire representant un plan perpendiculaire au rayon (cad tous les triplets x,y,z tq el produit scalaire de ton rayon (0,0,0)(a,b,c) et (xyz) = 0, ca te forme un systeme d'equations a resoudre, il est underdetermined, c'est normal vu que la solution est un plan)
Citation :
Publié par lezebulon
.....

Ca veut rien dire ton truc, un cercle dans l'espace c'est un cercle. IRL tu vois un cerceau par terre tu dis pas que c'est une ellipse...

.....

Prend ton cerceau et au lieu de le regarder dans la seule vue où il est un cercle ( suivant le vecteur normal au plan le contenant) :
tu as automatiquement une ellipse .
Au niveau mathématique, l'équation dans le plan sera une ellipse avec deux foyers , et IRL si ton cerveau prend le raccourci de reconnaître le cercle dans l'ellipse visible c'est un autre problème lié aux propriétés cognitifs du cerveau ( reconnaissance visuelle, association d'idée, prédiction sur la nature d'un objet etc ...) .
Une ellipse n'est pas un cercle, c'est aussi simple que cela

Mais bon c'est pas la peine d'insister surtout que ça ne fait pas avancer le schmill-blick de Neirdan .
Fil fermé

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés