|
|
I'm trying to manipulate the camera from an external program by means of an
INI file. The external program is right-handed and I originally manipulated
the camera by means of a series of rotations and translations -everything
worked fine. Now i'm trying manipulate the camera using the matrix
transform. in my case the transform is:
matrix < matrix00 , matrix10 , -matrix20,
matrix01 , matrix11 , -matrix21,
-matrix02 , -matrix12 , +matrix22,
matrix03 , matrix13 , -matrix23 >
matrixIJ is the element in row I column J of my original matrix which
transforms points like p'=M.p, and the sign changes are to transform the
pov coords to right handed (z'=-z) , transform the point, then change it to
left-handed.
It doesn't work for some situations, and I'm wondering if it is something to
do with POV's internal idea of handedness. I know that if I set the right
vector to say <-1,0,0> it will assume a left handed system. What happens
with a transformation though?
Does POV change to left-handed only if the right vector is explicitly set
with a -ve x coord, or can transformations alter it as well? Does anyone
know the exact way it's determined?
Post a reply to this message
|
|
|
|
I'm willing to bet that the handedness will be changed when the matrix's
determinant is negative. (That is, the 3x3 matrix you get when ignoring the
last row.)
In other words, yes, it should be possible to change the handedness with a
matrix transform, if the matrix turns the camera "inside out" much like
"right -x" does.
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
|