12. marts 2002 - 11:39
Der er
8 kommentarer og 1 løsning
Vinkel-funktion
Jeg har 2 punkter i et koordinatsystem, givet ved: Source(xPos, yPos) og Dest(xPos, yPos) Jeg skal bruge retningen fra Source til Dest (enten i radianer eller grader). Er der nogen der har en funtion liggende (eller måske bare en formelsamling ved hånden)???
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
12. marts 2002 - 11:45
#1
Man kan ikke angive en retning i grader...
12. marts 2002 - 11:46
#2
Du kan dog fx angive retningen i forhold til en af koordinatsystemets akser?
12. marts 2002 - 11:57
#3
0 grader == op, 90 grader == højre, 180 grader == ned osv. osv.
12. marts 2002 - 11:59
#4
Jeg skal bare kende vinklen i forhold til koordinatsysmets y-akse
12. marts 2002 - 12:05
#5
Det er en sprite (Source(xPos, yPos)) der skal roteres, så den peger imod Dest(xPos, yPos)...
12. marts 2002 - 12:06
#6
(Iøvrigt: Tak for din CSprite-klasse. Jeg har brugt den flittigt som base-klasse :-))
12. marts 2002 - 19:26
#8
OK, jeg fandt selv ud af det: double Azimuth(double xSrc, double ySrc, double xDest, double yDest) { double xDiff = xSrc - xDest; double yDiff = ySrc - yDest; double Azi = atan2(xDiff, yDiff); Azi = RadToDegree(Azi); if (Azi < 0) Azi += 360; return Azi; } double RadToDegree(int Rad) { return (Rad * 360) / TWOPI; } Det skal lige siges at ovenstående er counter-clockwise, dvs. 90 grader er lige til venstre...
13. marts 2002 - 16:04
#9
Hvis du ønsker at bruge vektorgeometri, kan du gøre således: double dAngle = (acos(y/sqrt(x*x+y*y))*360)/(2*PI); Hvor x og y er 2D-koordinaterne på det punkt du vil finde vinklen til i forhold til y-aksen og med (0,0) som udgangspunkt.
Kurser inden for grundlæggende programmering