• Advertisement
Sign in to follow this  

Vertex rotation fails

This topic is 1417 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Keep in mind that I'm really using these coords for a sprite,so I don't care about the Z if that matters at all...

 

 

So i have the following vector:

v(589,277)

 

And I want to rotate it 90 degrees counter clockwise.

 

I build a rotation matrix like this:

D3DXMatrixRotationZ(&rotation, D3DXToRadian(-90));

 

I then just transform the vector with:

D3DXVec2TransformCoord(&res, &D3DXVECTOR2(x,y), &rotation); //x = 589,y = 277

 

The resulting x is the correct one: 276, but the y is very far from the correct result: -589 (it should be something in the range 0-10)

 

What am I doing wrong?

 

 

 

EDIT: I also tried using a 3d vector with the z = 1..the same

Edited by noatom

Share this post


Link to post
Share on other sites
Advertisement

You're getting the results you're asking for in the calc. A position of 589 on the X-axis rotated by 90 degrees is at -589 on the Y-axis. Can you describe what you're trying to do, rather than how you're trying to do it?

 

Do you want to rotate the sprite by 90 degrees (in its current position), or rotate its position by 90 degrees?

 

If you're trying to rotate the sprite (assuming you're using ID3DXSprite), take a look at ID3DXSprite::SetTransform.

Edited by Buckeye

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement