Kom ihåg mig?
Home Menu

Menu


Räkna ut koordinat på roterad bild

Ämnesverktyg Visningsalternativ
Oläst 2011-11-10, 11:05 #1
Reager Reager är inte uppkopplad
Medlem
 
Reg.datum: Aug 2007
Inlägg: 151
Reager Reager är inte uppkopplad
Medlem
 
Reg.datum: Aug 2007
Inlägg: 151
Red flag Räkna ut koordinat på roterad bild

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.
Reager är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-11-10, 12:16 #2
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
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
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-11-10, 12:36 #3
Reager Reager är inte uppkopplad
Medlem
 
Reg.datum: Aug 2007
Inlägg: 151
Reager Reager är inte uppkopplad
Medlem
 
Reg.datum: Aug 2007
Inlägg: 151
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);
Om du kan se något fel eller har något tips på vad jag kan ha gjort för fel så får du gärna tips mig. Min offset är vad "verkliga" origo är, i centrum av bilden alltså och inte uppe i vänstra hörnet som den annars räknar från.
Reager är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-11-11, 17:11 #4
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
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
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-11-14, 20:46 #5
vco-systemss avatar
vco-systems vco-systems är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2004
Inlägg: 774
vco-systems vco-systems är inte uppkopplad
Mycket flitig postare
vco-systemss avatar
 
Reg.datum: Dec 2004
Inlägg: 774
Har du räknat ut vinkeln rätt? (radianer = grader * PI / 180)
vco-systems är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 12:02.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017