在lisp中如何判断两条直线重合?
思路。
1.首先用inters函数判断两条直线是否有交点。2.判断一条直线的一个端点是否在另一条直线上。
(这里指的直线其实应为线段。)
已知:p1 p2 p3 p4 (四个端点座标)
(setq pt (inters p1 p2 p3 p4 nil))
(if (not pt)
(progn
(setq ang1 (angle p1 p3) ang2 (angle p3 p2))
(if (= ang1 ang2)
(princ "两条直线重合“)
(progn
(setq ang1 (angle p1 p4) ang2 (angle p4 p2))
(if (= ang1 ang2)
(princ "两条直线重合”)
)
)
)
)
(princ "两条直线不重合")
)
)
谢谢!
感谢你,问题已经解决了。我的思路是:如果两条线重合,则这四个点任意连线都是重合的,而平行不是。在一条直线上找出一点,另一条上找出两点,如果一点和那两点的ANGLE一样,当然就重
在一条直线上找出一点,另一条上找出两点,如果一点和那两点的ANGLE一样,当然就重合了 学习一下思路 多义线局部线段拷贝,偏移程序
页:
[1]