comparing two angles
Posted
by Elazar Leibovich
on Stack Overflow
See other posts from Stack Overflow
or by Elazar Leibovich
Published on 2010-05-23T14:04:37Z
Indexed on
2010/05/23
14:11 UTC
Read the original article
Hit count: 439
Given four points in the plane, A,B,X,Y, I wish to determine which of the following two angles is smaller ?ABX or ?ABY.
I'd rather not use cos or sqrt, in order to preserve accuracy.
In the case where A=(-1,0),B=(0,0), I can compare the two angles ?ABX and ?ABY, by calculating the dot product of the vectors X,Y, and watch it's sign.
What I can do in this case is:
- Determine whether or not
ABXturns right or left - If
ABXturns left check whether or notYandAare on the same side of the line on segmentBX. If they are -?ABXis a smaller thanABY. - If
ABXturns right, thenYandAon the same side ofBXmeans that?ABXis larger than?ABY.
But this seems too complicated to me.
Any simpler approach?
© Stack Overflow or respective owner