#### Archived

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

# Grid rotation question for you math geniuses...

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

## Recommended Posts

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:

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

##### Share on other sites
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:

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

##### 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 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 on other sites
Hi ,
It would be as simple as :

B [ i , j ] = A [ j , 6 - i ]

##### 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 on other sites
Hi,
It is as simple as :

B [ i , j ] = A [ j , 6 - i ]

------------------
--Ali Seyedof (It's all dark !)

1. 1
2. 2
Rutin
19
3. 3
4. 4
khawk
14
5. 5
A4L
13

• 13
• 26
• 10
• 11
• 44
• ### Forum Statistics

• Total Topics
633743
• Total Posts
3013643
×