Question

Je travaille avec un code qui produit une matrice de rotation 3x3 et un vecteur de traduction représentant une orientation des caméras et de l'emplacement.

Cependant, les états de documentation que pour obtenir l'emplacement de la caméra, il faut multiplier la matrice de rotation transposée et inversée par le vecteur de translation. Est-ce que cela signifie que le vecteur d'origine n'est pas l'emplacement de la caméra? Sinon, qu'est-ce que représente vecteur d'origine?

Était-ce utile?

La solution

Je suppose que le R (matrice de rotation) et t (le vecteur de traduction) que vous avez obtenu ont été WRT un système de coordonnées avec (0,0,0) comme l'origine.

R et t vous pouvez maintenant déplacer un point du système de coordonnées ( WC ) au système de coordonnées de la caméra ( CC ), ie X c = RX + t X est un point 3D dans WC et X c X CC (ie vu du point de vue de la caméra). Ceci est applicable à supposer que nous avons affaire à des corps rigides donc nous alternons juste le point, puis le traduire.

Maintenant, vous devez trouver les coordonnées du centre de la caméra qui est l'origine de CC , ou lorsque X c = 0 :

0 = RC + t C est les coordonnées 3D du centre de la caméra dans WC . En résolvant pour C nous obtenons,

C = -R -1 t

Et par ailleurs,

Une correction dans la documentation

Transposition et en multipliant la matrice de rotation ne change pas la matrice de rotation --- une matrice de rotation est orthogonal qui signifie il est transposée est égale à son inverse et, par conséquent, < em> (R T ) -1 = R .

Autres conseils

Le vecteur d'origine dans ce cas est probablement le vecteur de translation dans les coordonnées après la traduction. Ou peut-être avant -. Tout dépend de votre point de vue personnel

La chose est, vous avez deux systèmes de coordonnées, et chaque vecteur peut être représenté dans chacun des systèmes de coordonnées. La matrice de rotation vous permet de transformer les choses d'un système à l'autre. Le « multiplier la matrice de rotation inversée et transposé par » chose est la transformation vers l'arrière.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top