A simple question on rotation

Started by
3 comments, last by yasmin_bd 11 years, 2 months ago

I need some clarification about glRotatef function. I have a rectangular plane with normal ax + by + cz = 0;
I would like to rotate it to align along (0, 1, 0) i.e. Y-axis.
I can find the in-between angle by dot product. Suppose the angle is theta in degree. Now how can I use glRotatef function to rotate the plane so that the new normal to the plane is along (0, 1, 0) vector; Is the following ok?
glRotatef( - theta, a, b, c);
If not, what will be the correct version?

Advertisement

If the plane equaiton is ax+by+cz=0, then the plane's normal is the vector (a,b,c). You want to rotate from one direction to another, so the axis of rotation in this case is the cross product of the plane's normal and the Y-axis.

Thank you, I understand. I need to find the cross product of (ax, by, cz) and (0, y,0) and then use it in glRotatef function.

Could you tell me how to find out the corresponding rotation matrix?

I understand how to convert from axis angle to matrix from wiki.http://en.wikipedia.org/wiki/Rotation_matrix

This topic is closed to new replies.

Advertisement