opengl - How to flip only one axis of transformation matrix? -


i have 4x4 transformation matrix. however, after trying out transformation noticed movement and rotation of y axis going opposite way. rest correct.

i got matrix other api difference of coordinate system. so, how can flip axis of transformation matrix?

if translation can add minus sign on y translation, have no idea opposite rotation of 1 axis since rotation being represented in same 3x3 area. thought there might way affect both translation , rotation @ same time. (truly flipping axis)

edit: i'm pretty sure operation you're looking changing coordinate systems while maintaining z-up or y-up. in case, try setting elements of second column (or row) of matrix inverse.


this question better math stackexchange. first, a helpful read on rotation matrices.

the first problem matter of rotation order. assuming xyz rotation order. know rotation matrices each axis follows:

rotation matrices each xyz axis component

given matrix derived same rotation order, resulting matrix follows, alpha x angle, beta y angle, , gamma z angle:

completed rotation matrix xyz rotation order

you can derive individual components of each axis angle matrix. example, can derive y angle -sin(beta) using inverse trig. given beta, can derive alpha cos(beta)sin(alpha). can derive gamma cos(beta)sin(gamma). note same number in matrix can represent multiple values (e.g. sin(0)=0 , sin(180)=0).

now know alpha, beta, , gamma, can reverse beta , remake rotation matrix.

there's chance there's better way using quaternions, should ask math stackexchange these kinds of language-agnostic questions.


Comments

Popular posts from this blog

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project.Error occurred in starting fork -

windows - Debug iNetMgr.exe unhandle exception System.Management.Automation.CmdletInvocationException -

configurationsection - activeMq-5.13.3 setup configurations for wildfly 10.0.0 -