wo321123 发表于 2003-3-12 18:09:00

在lisp中如何判断两条直线重合?

chg 发表于 2003-3-13 14:51:00

思路。

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 "两条直线不重合")
    )
)

wo321123 发表于 2003-3-13 16:37:00

谢谢!

感谢你,问题已经解决了。我的思路是:如果两条线重合,则这四个点任意连线都是重合的,而平行不是。

meflying 发表于 2003-3-13 17:05:00

在一条直线上找出一点,另一条上找出两点,如果一点和那两点的ANGLE一样,当然就重

在一条直线上找出一点,另一条上找出两点,如果一点和那两点的ANGLE一样,当然就重合了

chenlight 发表于 2012-8-25 21:59:15

学习一下思路

xxzwtr 发表于 2012-9-3 03:20:36

多义线局部线段拷贝,偏移程序
页: [1]
查看完整版本: 在lisp中如何判断两条直线重合?