kucha007 发表于 8 小时前

【K:PT2Line】点到直线的垂足点坐标

本帖最后由 kucha007 于 2025-4-21 10:35 编辑


;计算TgtPT到线StaPT-EndPT的垂足点坐标@G版
(defun K:PT2Line (TgtPT StaPT EndPT / Norms)
    (if (not Tol) (setq Tol 0.0)) ;避免出错
    (setq Norms (mapcar '- EndPT StaPT)
          StaPT (trans StaPT 0 Norms)
          TgtPT (trans TgtPT 0 Norms)
    )
    (trans (list (car StaPT) (cadr StaPT) (caddr TgtPT)) Norms 0)
)



一个可能会用到的算法:
把动态点投影到直线ab上得到点C,再判断ab和ac的方向,计算同坡标高

;点积判断直线ab和直线ac的方向(>0同向,<0同向,=0垂直)
(apply '+ (mapcar '* (mapcar '- a b) (mapcar '- a c)))



hubeiwdlue 发表于 7 小时前

对象坐标系通过向量Norms确定,Norms指向即为z轴。但是xy方向怎么定义?

kucha007 发表于 7 小时前

hubeiwdlue 发表于 2025-4-21 10:50
对象坐标系通过向量Norms确定,Norms指向即为z轴。但是xy方向怎么定义?

我是按点来算的,两个点形成向量,向量有指向性了

自贡黄明儒 发表于 7 小时前

你这个怎么同一高度,还标出了不同标高?

hubeiwdlue 发表于 6 小时前

kucha007 发表于 2025-4-21 11:04
我是按点来算的,两个点形成向量,向量有指向性了

z轴是定了的,原点是wcs的原点。x、y轴的方向,理论上有无数种可能啊。

kucha007 发表于 6 小时前

自贡黄明儒 发表于 2025-4-21 11:26
你这个怎么同一高度,还标出了不同标高?

仿天正的,这个标高值都在一个平面。只是值不同。方法是:一个标高+坡度算高。或者2个标高,算同坡度的标高

kucha007 发表于 6 小时前

hubeiwdlue 发表于 2025-4-21 11:47
z轴是定了的,原点是wcs的原点。x、y轴的方向,理论上有无数种可能啊。

没有考虑Z轴。我们作图都是在XOY平面。所谓的标高,只是数值不同

hubeiwdlue 发表于 6 小时前

kucha007 发表于 2025-4-21 11:54
没有考虑Z轴。我们作图都是在XOY平面。所谓的标高,只是数值不同

http://bbs.mjtd.com/thread-188468-1-1.html
一楼有对象坐标系的详细解释,但是缺少x,y方向定义的解释。

kucha007 发表于 6 小时前

hubeiwdlue 发表于 2025-4-21 11:59
http://bbs.mjtd.com/thread-188468-1-1.html
一楼有对象坐标系的详细解释,但是缺少x,y方向定义的解释 ...

感谢你,我学习一下~

sky899150 发表于 5 小时前

能不能实现点两个标高 然后内插标高呢?
页: [1] 2
查看完整版本: 【K:PT2Line】点到直线的垂足点坐标