Scripsit Jan Thogersen <jan@fishcorp.dk>
> Jeg er ved at lave et projekt med en micro processor hvor jeg skal
> bruge en ArcTan2 funktion.
> Mit spørgsmål er. Hvordan kommer man fra en ArcTan funktion til en ArcTan2?
Normalt betyder arctan2(x,y) vinklen (med fortegn) mellem vektoren
(1,0) og (x,y).
For x>0 gælder arctan2(x,y) = arctan(y/x).
Funktionen er mere praktisk til mange geometriske anvendelser end
den teoretiske arctan, idet man undgår ustabilitet ved divisionen
når x er lille.
I praksis formoder jeg at man beregner arctan2 ved at have en god
implementation af arctan(a) for -1<=a<=1 og så splitte om i "skæve"
kvadranter:
arctan2(x,y) = arctan(y/x) for |x|>|y|, x>0
arctan(y/x)+pi for |x|>|y|, x<0, y>=0
arctan(y/x)-pi for |x|>|y|, x<0, y<0
arctan(-x/y)+pi/2 for |x|<|y|, y>0
arctan(-x/y)-pi/2 for |x|<|y|, y<0
--
Henning Makholm "What has it got in its pocketses?"
|