我试图在下图中找到与红线相关的光标位置。
我尝试了以下主题: Using atan2 to find angle between two vectors 而How to calculate the angle between a line and the horizontal axis?但使用 Math.Atan2
但是有一个问题,如果使用这些方法,P1和P2的值将不相同。
是否有任何方法可以使用红色矢量获取UIElement(例如,椭圆形)上任何点的任何位置,例如具有相同角度的每个点(此处为P1和P2)具有相同的值?
答案 0 :(得分:2)
是的,并且atan2是完全需要的方法。我们可以使用叉积和点积获得结果:
bx = redline_end.x - center.x
by = redline_end.y - center.y
// here bx=0 and by=75
px = p1.x - center.x
py = p1.y - center.y
angle = atan2(px * by - py * bx, px * bx + py * by) //and similar for P2