TransWikia.com

Rotate vector by matrix?

Game Development Asked on December 29, 2021

If I have a Vector, say (1,1), how can I rotate it around the origin (0,0)?

I’m working in XNA if that helps.

2 Answers

Since you are using XNA, there is an easy way to do the above, which can be found in this following thread. In shows how to perform the transformation in 3D or 2D. For 2D, it is as simple as:

point = Vector2.Transform(point, Matrix.CreateRotationZ(AngleToRotate);
point += originPoint;

Note that AngleToRotate is in radians. If you want to use Degrees you can can take advantage of

MathHelper.ToRadians(float degree)

which is a static method.

Answered by Waleed Al-Balooshi on December 29, 2021

Just multiply the vector by a rotation matrix:

| fx |     | cos a    -sin a | | sx |
| fy |  =  | sin a     cos a | | sy |

where fx and fy are final coordinates of the object after the rotation and sx, sy are starting one. Obviously a is the angle involved.

Answered by Jack on December 29, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP