算直线斜率及角度的lisp程序
www.dimcax.com
算直线斜率及角度的lisp程序
;直线斜率 , 比较简单
(defun c:ll ()
(setq enj (entget (car (entsel "选择一条直线 : "))))
(setq xy1 (assoc 11 enj) ) ;取得该直线的起点
(setq xy2 (assoc 10 enj) ) ;取得该直线的终点
(setq y1 (caddr xy1))
(setq y2 (caddr xy2))
(setq x1 (cadr xy1))
(setq x2 (cadr xy2))
(setq tg (/ (- y1 y2) (- x1 x2)) )
(princ "该直线斜率为:")
(princ tg)
(princ "\n该直线角度为:")
(princ (* (/ (atan tg) pi) 180 ) )
(princ)
)
求一条直线的角度
(angle pt1 pt2)
上楼 pt1 pt2 什么意思啊?
:
求一条直线的角度
(angle pt1 pt2)
请说清楚点啊
:
上楼 pt1 pt2 什么意思啊?
直线的起点与终点
任意两点亦可
语法
(angle pt1 pt2)
功能及参数
此函数将返回由目前绘图平面上 pt1 点至 pt2 点连线的夹角。此夹角是由该直线与目前绘图平面的 x 轴, 以弧度为单位、以逆时针方向为增量的夹角数值。如果, 点坐标是以3d方式输入, 则将以投影至目前绘图平面上的点坐标来运算。
范例
(angle '(1.0 1.0) '(1.0 4.0)) 返回 3.14159
(angle '(5.0 1.33) '(2.4 1.33)) 返回 1.5708
这个简单的问题要看lisp基础教程