Tobias Münch wrote on Monday, February 04, 2008 1:01 PM:
> This works, but only partially.
> 
> All Object that are near the coordinate axes where fixed in rotation.
> But everything with a certain height above the axis zero level will
> be rotated. So the final images gets ugly distorted (Looks like it is
> sheared). I played a little bit with the values and indces, but
> couldn't improve it.    

It isn't clear exactly what you mean, but it sounds like the issue is now just 
how to get the right rotation in the matrix; you can look up matrix math and 
rotations on Wikipedia or in a good graphics textbook.

Sorry I can't be more help.

> On Feb 4, 2008 7:23 PM, Thrall, Bryan <[EMAIL PROTECTED]>
> wrote: 
> 
> 
> 
>       Sorry, hit send too soon, updated below...
> 
>       Thrall, Bryan wrote on Monday, February 04, 2008 12:21 PM:
> 
>       > Tobias Münch wrote on Monday, February 04, 2008 11:29 AM:
> 
>       >> Hello at all,
>       >>
>       >> I have osg::Matrixd view matrix and want to remove the rotation
>       >> around x- and y-axis. Only rotation around z-axis should stay in
>       the >> matrix. I try a lot of possibilties but couldn't find a
>       solution. >>
>       >> When I make the following steps, the rotation around all axis is
>       >> removed, not only the two specified axis. The same with
>       >> osg::Matrixd::makeRotate(..);
>       >>
>       >> matrix = osg::Matrixd::rotate(osg::DegreesToRadians(0.0),
>       >> osg::Vec3(0,1,0));
>       >>
>       >> matrix = osg::Matrixd::rotate(osg::DegreesToRadians(0.0),
>       >> osg::Vec3(1,0,0));
>       >>
>       >>
>       >> I also tried to set the matrix with complete new values and to
>       take >> given value for z-rotation, but therefore I miss a function
>       to read >> the one rotation part (around the z-axis).
>       >>
>       >> How can help me?
>       >
> 
>       > Both of those lines *set* matrix to a non-rotating matrix; what you
>       > want is to *modify* the matrix to remove the X and Y rotations.
>       >
>       > The easiest way is to modify the matrix directly:
>       >
> 
>       matrix(0,0) = 1;
> 
>       matrix(0,1) = 0;
>       matrix(0,2) = 0;
>       matrix(1,0) = 0;
>       matrix(1,1) = 1;
>       matrix(1,2) = 0;
> 
>       If I didn't mess up my indices, this zeroes out the X and Y
> rotations while leaving the Z intact. 
- 
Bryan Thrall
FlightSafety International
[EMAIL PROTECTED]
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to