PDA

View Full Version : rotating a flat plane



mochi
09-10-2001, 04:27 AM
how do i go about rotating a flat plane???
all my rotation turns out weird ...
please help ...

Coconut
09-10-2001, 04:33 AM
Originally posted by mochi:
how do i go about rotating a flat plane???
all my rotation turns out weird ...
please help ...

You did not say rotating about what direction.Use something like:

glRotatef(degrees, dx, dy, dz);
DrawAPlane();

Please post some code if you can.

JnZ
09-10-2001, 09:26 PM
ok...do you translate also?

becaz. you have to rotate first then translate.

exam.

glRotate(AxisY, 0.0, 1.0, 0.0);
glTranslate(0.0, 0.0, 1.0);

Otherwise GL moves object like so:

Object A------> Place C

then rotate

/> Place C (unwanted rotation)
/
Object A /

I dont know if this helps, maybe I just didnt understand the Q

Ritchie
09-10-2001, 11:27 PM
JnZ,

What if I want to have a plane through the coordinate (0, 0, 1), rotated a degrees around the y-axis? Using your code I would have to calculate the components of the translation.

But translation before rotation does exactly what I want. So I think it's the other way around, like this:




glLoadIdentity();
glTranslatef(0.0, 0.0, 1.0);
glRotatef(angle, 0.0, 1.0, 0.0);
DrawPlane();


Ritchie

[This message has been edited by Ritchie (edited 09-11-2001).]

Walantis
09-11-2001, 12:03 AM
in opengl you have to read the transformation commands from the end to the
beginning...an example:

you enter:
1. glLoadIdentity()
2. glRotatef(...)
3. glScalef(...)
4. glTranslatef(...)

you get:
1. Translation
2. Scale
3. Rotation
4. Step 1-4 will be combined with the
identity matrix

This is important to know, otherwise you'll have troubles with transformations...

Ritchie
09-11-2001, 02:50 AM
Hi,

Correct me if I'm wrong, but this is what I thought:

The suggested method works perfectly if one wants to draw planets around a moon, or the bolts to a wheel, or even a robot arm. In this method all rotation takes place around one point of origin (In the case of the robot arm there are more points to rotate about, eg shoulder, elbow, wrist etc.). If this is what you are looking for, that is fine.

What I meant was to use one fixed coordinate system for reference. All geometry to be drawn has its coordinates in this system, so first a translation is needed to these coordinates. A set of rotations on the objects coordinate system (which is local) will give the object the desired orientation.

Ritchie