永发信息网

这是cad的autolisp的编程题,求助啊、、、

答案:2  悬赏:80  手机版
解决时间 2021-02-21 22:20
编程题, 利用AutoLISP语言编程,使用鼠标在AutoCAD绘图区域中任意输入三个点,PT1、PT2、PT3,求出PT3点到直线PT1、 PT2的最短距离。这个图大家都知道。我就不画了,就是线外一点到直线的距离问题。怎么编程,大家帮忙啊。。。。重赏啊。。。还有追加赏啊。。。denfun。。。setq。。。。
最佳答案
;;;计算某直线外一点到直线的最短距离,即为垂线,不判断垂足点是否在直线上
;;;设定命令为mm
(defun c:mm()
(setvar "cmdecho" 0)
(setq pt1 (getpoint "第1点"))
(setq pt2 (getpoint "第2点"))
(setq pt3 (getpoint "第3点"))
(command "line" pt1 pt2 "")
(command "point" pt3 "")
;;;
;;;不判断pt1、2、3是否共线,

;;; 方法一:
;;;pt4x,pt4y点的确定
;;;
;;;分别获取pt1、2、3的坐标值
(setq pt1x (car pt1))
(setq pt1y (cadr pt1))
(setq pt2x (car pt2))
(setq pt2y (cadr pt2))
(setq pt3x (car pt3))
(setq pt3y (cadr pt3))
;;;计算方法:
;;;pt4与pt1 pt2 共线
;;;(pt4x-pt1x)/(pt4y-pt1y)=(pt2x-pt1x)/(pt2y-pt1y)
;;;
;;;pt4 pt3的斜率与pt1 pt2的斜率乘积为1
;;;(pt4x-pt3x)/(pt4y-pt3y)*(pt2x-pt1x)/(pt2y-pt1y)=-1
;;;自行解方程计算出pt4x、y的表达式

;;;计算pt3到直线pt1 pt2的最短距离
(setvar dist (sqrt( (pt4x-pt3x)*(pt4x-pt3x)+(pt4y-pt3y)*(pt4y-pt3y) ) ) )

;;;方法二:
;;;使用getdist函数,不计算具体的垂足点的坐标
;;;开启对象捕捉仅为垂足点
(setq dist (getdist pt3 (“选择垂足点”)))

(princ)
)
全部回答
(defun c:xxx() (setvar "cmdecho" 0) (setq pt1 (getpoint " \n 第一点:")) (setq pt2 (getpoint pt1 " \n 第二点:")) (setq ll (distance pt1 pt2)) ;计算两点间距离 (setq ang (angle pt1 pt2)) ;计算两点间角度 (setq pt3 (polar pt2 (+ ang (/ (* 120 pi) 180)) ll)) ;计算三角形第三点坐标 (command "polygon" 3 "e" pt1 pt2) ;绘制三角形 (prin1) )
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
女朋友对我语气很淡,短信聊天也一样,怎么回
郓城志高空调专卖店这个地址在什么地方,我要
一个铜球体积10cm³质量62.3g问是否为空
vivo怎么进入开发人员选项
求情侣名,格式为 天帝ㄨ 我是男的最好霸气一
吸尘器手持还是立式好
华东师大版八年级下册数学课本习题答案
千八百营子四分子地址在哪,我要去那里办事
绿豆根尖具有分裂能力的区域是A. 成熟区B. 伸
自主招生需要准备什么
我今年就要毕业了,我是一名本科护士,可是毕
南伞街地址在什么地方,想过去办事
新丰田威驰自动挡1.3L下雪天爬坡,面包车能上
四海公寓地址在什么地方,想过去办事
信用卡余额是什么意思
推荐资讯
BP润滑油盛隆换油中心我想知道这个在什么地方
联通4G助手还能用吗?
雅方亚发艺地址在什么地方,我要处理点事!
大青山风景区在什么地方啊,我要过去处理事情
顺达科贸在什么地方啊,我要过去处理事情
关于商业贷款(房贷)
为什么核裂变既不是物理变化也不是化学变化
大园村计划生育协会在哪里啊,我有事要去这个
【insteadof】instead与insteadof的区别
皇朝装饰在什么地方啊,我要过去处理事情
那年花开月正圆周莹为什么没进吴家祖坟 生命
我13岁,我想问女孩zw是什么感觉
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?