[ODE] Confusion with getRotation()
Jason _____
jgmath2000 at hotmail.com
Fri Nov 28 05:57:59 MST 2003
OK, when I do getRotation on a body, I should get a 3x4 matrix with the unit
vectors for the front, side, and top vectors, with 0's in the 4th column,
right?
My code looks like this:
#define X 0
#define Y 1
#define Z 2
...
printf("%.02lf %.02lf %.02lf --- %.02lf %.02lf %.02lf --- %.02lf %.02lf
%.02lf\n",
ragdoll->chest.getRotation()[X],ragdoll->chest.getRotation()[Y],ragdoll->chest.getRotation()[Z],
ragdoll->chest.getRotation()[4+X],ragdoll->chest.getRotation()[4+Y],ragdoll->chest.getRotation()[4+Z],
ragdoll->chest.getRotation()[8+X],ragdoll->chest.getRotation()[8+Y],ragdoll->chest.getRotation()[8+Z]);
and when my ragdoll's stance stablizies (he's sort of hunched forwards) the
printf gives me:
1.00 -0.00 -0.00 --- 0.00 0.84 0.54 --- -0.00 -0.54 0.84
The first one would be right if it was the side vector, since the chest is
pointing in the y-axis.
The second one and the third ones make no sense, since they don't even add
up to 1. Am I reading those two from the matrix wrong?
Just eyeballing it, the vectors should be:
front: 0.00 0.80 -0.20
side: 1.00 0.00 0.00
top: 0.00 0.20 0.80
Any ideas on what's going on?
<html><DIV>Jason Gauci </DIV>"If a packet hits a pocket on a socket on a
port, and the port buffer is flooded at the very last resort, then a packet
pocket socket error the buffer must report"</html>
_________________________________________________________________
Set yourself up for fun at home! Get tips on home entertainment equipment,
video game reviews, and more here.
http://special.msn.com/home/homeent.armx
More information about the ODE
mailing list