- #1
minionx
- 3
- 0
Hi there, (I hope this post is in the right forum)
I'm trying to integrate a 3x3 orientation matrix using a vector representing rotational velocity (in 3d)
This is the formula I'm using:
newOrientation = orientation + (dt)(~w)(orientation)
where w is the vector rotational velocity, and the tilde operator creates a “skew-symmetric” matrix out of w.
The problem is, I don't see how this could possibly produce a legitimate orientation matrix. I'm using column-major matricies, so each column of an orientation matrix should contain a normalized vector, right?
I understand that over time, error will creep into things, and the result orientation matrix will begin to be *not quite* orthogonal, and not quite normalized, but what it seems to be producing for me is an orientation matrix containing vectors that arn't REMOTELY normalized.
because of this, when I try to transform a 3d object with it, the object stretches, and essentially tears itself apart.
Am I screwing this up some how? Any help is EXTREMELY appreciated.
I'm trying to integrate a 3x3 orientation matrix using a vector representing rotational velocity (in 3d)
This is the formula I'm using:
newOrientation = orientation + (dt)(~w)(orientation)
where w is the vector rotational velocity, and the tilde operator creates a “skew-symmetric” matrix out of w.
The problem is, I don't see how this could possibly produce a legitimate orientation matrix. I'm using column-major matricies, so each column of an orientation matrix should contain a normalized vector, right?
I understand that over time, error will creep into things, and the result orientation matrix will begin to be *not quite* orthogonal, and not quite normalized, but what it seems to be producing for me is an orientation matrix containing vectors that arn't REMOTELY normalized.
because of this, when I try to transform a 3d object with it, the object stretches, and essentially tears itself apart.
Am I screwing this up some how? Any help is EXTREMELY appreciated.