2d Local coords
Blitz3D Forums/Blitz3D Beginners Area/2d Local coords
| ||
Say I have a 2d 21X19 Image, and I have to start a bullet from the coords 4,2. Now thats no problem if the image is not rotated, but how do I figure out where to put the bullet if its like at say 10 degrees rotation? |
| ||
Hi You have to know wich is the center of rotation, suppose, it's the center of the image (10.5 , 9.5 use real numbers, round at final stage) then, the coords 4,2 relative to the center: -6.5 , 7.5 that's are OldX = -6.5, OldY = 7.5 after a rotation of "alfa" degrees NewX and NewY (respect to the center) are: NewX = (OldX*Cos(alfa)) - (OldY*Sin(alfa)) NewY = (OldY*Cos(alfa)) + (OldX*Sin(alfa)) if alfa = 10 degrees then: NewX = -7.70361, NewY = 6.25735 (10 degrees anticlockwise, -10 if you want clockwise!) I hope, someone has a better way (or easyer) but this should work (remember to translate the newx and newy from center to the correct point) Juan |
| ||
Thanks, that worked perfectly. |