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.

HTH,
-- 
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