J'ai 3 points: A, B, C
dans l'espace 3D. AC = BC de longueur. Ils représentent un objet triangle appelé T
. Chaque point est un tuple de flottants représentant ses coordonnées. T
est placé tel que le point médian de A
et B
est déjà dans l'origine des axes.Rotation de triangle avec Python
Dans mon API, je peux faire tourner T
globalement, c'est-à-dire par rapport à un axe global à la fois, pour la rotation. pseudocode pour cette API est comme:
T.rotate('x', angle)
pour faire tourner T
autour de l'axe global x
de valeur d'angle, avec la règle de la main droite.
Ma question est le code de rotation T
tels que:
A
etB
sont surx
axeC
est sury
axe
Je suppose que je vais devoir 3 appels successivement, pour tourner autour de chacun des axes. Mais j'ai des problèmes pour représenter les angles par les coordonnées initiales des points.
Veuillez donner plus de détails, tels que les exemples d'entrées et les sorties désirées. En outre, que signifient "point médian de A et B" et "origine des axes"? (Une médiane n'est pas un point: voulez-vous dire mi-point? Et ce point médian est-il garanti à l'origine?) Comment savez-vous qu'il est possible de faire ce que vous voulez? (Cela ne me semble pas possible en général sans plus d'opérations ou de limitations sur T. Pour ce dernier, l'origine doit être le pied de l'altitude du point C au côté AB.) Enfin, quel travail as-tu fait jusqu'ici? et quel code as-tu essayé? –
désolé, je voulais dire vraiment point milieu. Et avec l'origine des axes, je veux dire le centre des axes, (0,0,0) AB point milieu est certainement en (0,0,0) – user1941583
Si vous voulez dire milieu, alors ce que vous demandez est possible seulement si la longueur côté AC est égale à côté longueur BC - ie AB est la base d'un triangle isocèle. Il ne peut travailler avec des rotations autour des axes principaux que si l'origine est le pied de l'altitude de C à AB-i.e. seulement si le vecteur de A à B est perpendiculaire au vecteur de l'origine à C. Cela est vrai parce que toutes vos rotations laissent l'origine en place, et à la fin désirée la situation que je déclare sera vraie. Si vous changez la condition je peux vous donner une réponse, mais aucune réponse n'est possible maintenant. –