问题描述
- 一个关于求角度的问题
-
题:比如给定顶点(2,2),另外两个点是(5,2)、(2,6),这样求出顶点的角度是90.
我想做的是,如果我把后两个点交换位置(2,6)、(5,2),求出顶点角度为-90.
问题大概就是这样,求大神指导。
解决方案
简单一些,只要三点中有两点的 X 坐标相、另外有两点 Y 坐标相同,在两次相同中同一个坐标处就是 90 度。
解决方案二:
1.
应该是余弦定理,设顶点A,另外两点B、C,则有AB^2 + AC^2 - 2 *AB *AC cosA = BC^2
因为三点已经知道,则,AB、AC、BC都能得到,即,cosA也可以算出来
再用acos算出该顶点大小(math库中应该有这个函数)。
2.
对于正负值,也不难,首先由A、B两点,可以确定一条直线y=ax+b,将A、B坐标代入,可以算出a、b值。
然后再把C的x坐标代入该直线,算出y值,与c的y坐标相比,判断c坐标在直线上面还是下面。在上面为与a符号相同,在下面为与a符号相反
个人见解。
时间: 2024-09-19 09:15:03