本帖最后由 ynhh 于 2023-9-9 21:06 编辑
这平面的好象有现成的函数吧
谢谢
- (defun p-line-dis (PT ;点
- P-1 ;线端点1
- P-2 ;线端点2
- /
- angcos ;线 PT P-1 和线 P-2 P-1 的夹角的cos
- disp-1 ;PT 和 P-1 间距离
- disp-2 ;PT 和 P-2 间距离
- dis1-2 ;P-1 和 P-2 间距离
- tem;三维点与三维直线的最短长度距离
- )
- (setq disp-1 (distance PT P-1)
- disp-2 (distance PT P-2)
- dis1-2 (distance P-1 P-2))
- (IF (< (ABS (- (+ disp-1 disp-2) dis1-2)) 1e-3);当点在线上时
- (setq tem 0)
- (PROGN
- (setq angcos (/ (+ (expt disp-1 2.0) (expt dis1-2 2.0) (* -1.0 (expt disp-2 2.0))) 2.0 disp-1 dis1-2))
- (setq tem (- 1.0 (expt angcos 2.0));返回N次方
- tem (sqrt tem);返回一个数的平方根
- tem (* disp-1 tem)
- )
- ))
- tem;看到此贴临时写的,没有足够验证。
- )
|