Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

WesLiu76

Grid rotation question for you math geniuses...

This topic is 6921 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

Guest Anonymous Poster
Umm.. I'll try here, not sure if it works though and it might not be a good method (probably slow). I've made the center of the matrix to be (0, 0), but that's easily changed.

First I get the angle of the coordinate.

angle=tan(OLD_Y/OLD_X)

Then I add 90 degrees.

angle+=90

I find the radius, which is OLD_Y squared times OLD_X all square rooted, then the new coordinates as followed:

NEW_X=radius*cos(angle)
NEW_Y=radius*sin(angle)

...or maybe I switched the cos and sin.

Share this post


Link to post
Share on other sites
Advertisement
Guest Anonymous Poster
Umm.. I'll try here, not sure if it works though and it might not be a good method (probably slow). I've made the center of the matrix to be (0, 0), but that's easily changed.

First I get the angle of the coordinate.

angle=tan(OLD_Y/OLD_X)

Then I add 90 degrees.

angle+=90

I find the radius, which is OLD_Y squared times OLD_X squared and all square rooted, then the new coordinates as followed:

NEW_X=radius*cos(angle)
NEW_Y=radius*sin(angle)

...or maybe I switched the cos and sin.

Share this post


Link to post
Share on other sites
I haven't taken calculus so I might be thinking about this problem wrong, but it seems to me that if you are using straight lines (row and columns kind of need this) all you have to do is switch the x and y coordinates:
~ ~ ~ ~ ~ ~ 1 ~ ~ ~
1 2 3 4 5 ~ 2 ~ ~ ~
~ ~ ~ ~ ~ becomes ~ 3 ~ ~ ~
~ ~ ~ ~ ~ ~ 4 ~ ~ ~
~ ~ ~ ~ ~ ~ 5 ~ ~ ~

Then flip it vertically over the x,y axis

~ 1 ~ ~ ~ ~ 5 ~ ~ ~
~ 2 ~ ~ ~ ~ 4 ~ ~ ~
~ 3 ~ ~ ~ becomes ~ 3 ~ ~ ~
~ 4 ~ ~ ~ ~ 2 ~ ~ ~
~ 5 ~ ~ ~ ~ 1 ~ ~ ~

Did I do something incorrectly?

I think this would work for curved lines to.

------------------
Tell the truth and you will never fear someone will figure out you lied.
<<I'm sure I'm quoting someone out there, wish I knew who!>>
David Abresch

Share this post


Link to post
Share on other sites
Flipping the X and Y coordinates certainly will not work ;( There are two ways of doing this. If you are just going to be dealing with a 5x5 array of cells and no other size, take the time to generate a static conversion table, so that given a cell's X and Y you access a structure containing the cell's new coordinates.

Otherwise, if you will be dealing with variable size arrays, just use the trig ;(

[This message has been edited by Splat (edited October 08, 1999).]

Share this post


Link to post
Share on other sites
You know you've been out of college too long when you forget your matrix calculus.

Question:
Say you have a 5x5 grid, and perform a 90 degree clockwise rotation around the middle cell (3,3). Is there an equation to calculate the new row and col based on the cell's pre-rotation row,col?

I know there is an equation but I can't remember plus I sold all my college math books back.

Thanks in advance for any help.

Wesley

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!