kucha007 发表于 昨天 10:28

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

本帖最后由 kucha007 于 2025-4-21 19:42 编辑


;计算TgtPT到线StaPT-EndPT的垂足点坐标@G版
(defun K:PT2Line (TgtPT StaPT EndPT / Norms)
    (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 发表于 昨天 21:26

kucha007 发表于 2025-4-21 19:18
学会了。其实就是利用垂直产生的特性,跟xy方向无关。楼主说的已经很明白了啊,晚点我梳理一下看看能不能 ...

这个函数,我是可以理解的,利用z轴和向量的对齐,实现点某个坐标的对齐,但是坐标转换后,tans是会返回一个点坐标的,也就是说,系统里面,肯定有一个x,y方向的定义。

kucha007 发表于 8 小时前

hubeiwdlue 发表于 2025-4-21 21:26
这个函数,我是可以理解的,利用z轴和向量的对齐,实现点某个坐标的对齐,但是坐标转换后,tans是会返回 ...

哦哦,你是这个意思啊。ocs和wcs的原点是一样啊。xy的方向相当于跟着z轴,关于原点旋转对齐。位置也是唯一的

hubeiwdlue 发表于 昨天 11:59

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

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

hubeiwdlue 发表于 昨天 10:50

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

kucha007 发表于 昨天 11:04

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

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

自贡黄明儒 发表于 昨天 11:26

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

hubeiwdlue 发表于 昨天 11:47

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

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

kucha007 发表于 昨天 11:52

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

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

kucha007 发表于 昨天 11:54

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

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

kucha007 发表于 昨天 12:15

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

感谢你,我学习一下~

sky899150 发表于 昨天 13:12

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