我正在写一个自动生成断面的图程序,突然到这里遇到困难了~
比如一个已知三个点 A B C 组成的角∠ABC 这个角度如何求
因为工程上需要显示的是前进方向的左角 也就是说∠ABC=360°-∠CBA
1.我想到过余弦定理可是只能算出来COS∠ABC 的数据 如何反算出∠ABC ?
2.如果利用angle函数,我尝试过了 每个象限的公式都不一样,难道还要做4个判断 判断出象限?
3.小弟跪求有没有什么函数可以根据A B C三点坐标直接求出∠ABC,同时如果顺序颠倒C B A的角度∠CBA应该正好为360°减去∠ABC
;;;计算3三点逆时针角度
(defun 3PAngle (p1 p2 p3 / ans a b an)
(setq ans (list(angle p1 p2)(angle p3 p2))
a (apply 'min ans)
b (apply 'max ans)
an (- b a))
(if (= a (car ans))
an
(- (* 2 PI) an)
)
)