FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hej,
jag har en bild som jag ritar ut hög med punkter på för att låta användaren "rita" på denna. Sedan har jag en knapp som roterar denna bild 90grader åt valfritt håll. Det jag har problem med är hur jag räknar ut de nya koordinaterna för mina punkter när jag roterar min bild. Jag har Googlat fram en massa olika lösningar men då ingen fungerar känns det som om det är något jag missar och hoppas att jag kan få hjälp med här. Tack på förhand. |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Supermoderator
|
http://en.wikipedia.org/wiki/Rotation_%28mathematics%29
Du multiplicerar helt enkelt bara de gamla koordinaterna med en matris. Du har rotation i två dimensioner som första exempel där.
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
Det (tror) jag att jag försökt med, men kan ha gjort något fel.
Kod:
float rx = (float) (Math.Cos(radians) * (p.X - offset.X) - (Math.Sin(radians) * (p.Y - offset.Y)) + offset.X); float ry = (float) (Math.Sin(radians) * (p.X - offset.X) + (Math.Cos(radians) * (p.Y - offset.Y)) + offset.Y); |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Supermoderator
|
Ser rätt ut vid en första anblick. Pröva att göra några enkla rotationer typ pi/2 eller pi, skrev ut alla variabler och se efter var det blir fel siffror.
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Mycket flitig postare
|
Har du räknat ut vinkeln rätt? (radianer = grader * PI / 180)
|
|||
![]() |
![]() |
Svara |
|
|