MUSIC-DIE 发表于 2021-9-25 00:01:42

已知四个点,前两个点形成一条直线 怎么判断后两个点是否在直线的同一侧

本帖最后由 MUSIC-DIE 于 2021-9-25 00:08 编辑

写一个标注的尺寸界限偏移程序的时候遇到一个小问题,发出来与大家探讨一下啊


已知四个点,前两个点形成一条直线   怎么判断后两个点是否在直线的同一侧?



inters 函数,只有两边都延伸和都不延申,所以直接用是没办法完成的

想了个办法

1、 inters 函数求得交点坐标延长模式
2、交点坐标   和 另外两个点形成两个 向量
3、两个向量求点积正为同侧 负为异侧


这样可以达到目的,看看大家还有其他好的办法没有啊,一起讨论一下

wudechao 发表于 2021-9-25 00:06:00

本帖最后由 wudechao 于 2021-9-25 10:37 编辑

求人办事,还有给你明经币!

wudechao 发表于 2021-9-25 00:08:22

;;===点到直线的距离(带方向),要求的点pt,和直线的两个端点pp1,pp2。输出: 带符号的距离,为正pp1,pp2,pt逆时针,否则顺时针=============
(defun ffg-pt2line (pt pp1 pp2 /)
    (car (trans (mapcar '- pt pp1) 0 (mapcar '- pp2 pp1)))
)

MUSIC-DIE 发表于 2021-9-25 00:09:16

wudechao 发表于 2021-9-25 00:06
求人办事,还有给你明经币!有病!

解决了的啊,我都把思路写出来了

MUSIC-DIE 发表于 2021-9-25 00:28:16

wudechao 发表于 2021-9-25 00:08
;;===点到直线的距离(带方向),要求的点pt,和直线的两个端点pp1,pp2。输出: 带符号的距离,为正pp1,pp2, ...

厉害啊,从H版那里再学习了一下trans函数才看懂

tigcat 发表于 2021-9-25 00:39:03

wudechao 发表于 2021-9-25 00:08
;;===点到直线的距离(带方向),要求的点pt,和直线的两个端点pp1,pp2。输出: 带符号的距离,为正pp1,pp2, ...

我是来看女神的
页: [1]
查看完整版本: 已知四个点,前两个点形成一条直线 怎么判断后两个点是否在直线的同一侧