乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 63|回复: 6

[编程交流] Lisp代码

[复制链接]

40

主题

132

帖子

107

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
227
发表于 2022-7-6 10:02:34 | 显示全部楼层 |阅读模式
我很喜欢这个网站和使用autolisp代码。
 
有人知道我可以用什么方法写一个简单的代码吗
 
公式
 
  1. y=mx+b

 
或者任何其他类型的图形计算?
 
谢谢jtp
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 10:16:33 | 显示全部楼层
(setq y(+(*M X)B))?????????
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:28:59 | 显示全部楼层
这将绘制大多数函数:
 
http://www.cadtutor.net/forum/showthread.php?53014-绘制正余弦波任意想法&p=358974&viewfull=1#post358974
 
使用该功能:
 
  1. (setq fun (lambda ( x ) (+ (* m x) c)))

 
对于任意m&c值。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 10:36:01 | 显示全部楼层
李·麦克,
 
您将如何编写此代码?
 
  1. (defun c:testL (/ L1 L2 1data 2data 1A 1B 2A 2B s_t X1 X2 X3 X4 line_distance)
  2. (while (not (and
  3.       (setq L1 (car (entsel "\nSelect a Line: "))
  4.      L2 (car (entsel "\nSelect another Line: "))
  5.       )
  6.     )
  7.       )
  8. )     
  9.   (cond
  10.   ((setq
  11.      1data (entget L1)
  12.      2data (entget L2)
  13.      1A    (cdr (assoc 10 1data)) ; start of first Line
  14.      1B    (cdr (assoc 11 1data)) ; end of first Line
  15.      2A    (cdr (assoc 10 2data)) ; start of second Line
  16.      2B    (cdr (assoc 11 2data)) ; end of second Line
  17.      s_t   0
  18.    )
  19.    (repeat 3
  20.      (setq x1 (nth s_t 1A)
  21.     x2 (nth s_t 1B)
  22.     x3 (nth s_t 2A)
  23.     x4 (nth s_t 2B)
  24.      )
  25.      (setq vts
  26.      (/ (* (abs (- x3 x1))
  27.     (* (abs (- x2 x1)) (abs (- x4 x3)))
  28.         )
  29.         (* (abs (- x2 x1)) (abs (- x4 x3)))
  30.      )
  31.      )
  32.      (set (setq vv (read (strcat "D" (itoa (+ s_t 1))))) vts)
  33.      (setq s_t (1+ s_t))
  34.    )
  35.    (setq line-distance (sqrt (+ (* d1 d1) (* d2 d2) (* d3 d3))))
  36.    (princ)
  37.   )
  38. )
  39. )

 
这是一个获得两条斜线之间最短距离的方程。。。不知怎的,我没有得到我需要的结果。。
这部分是我不确定的地方(公式)
 
  1. (setq line-distance (sqrt (+ (* d1 d1) (* d2 d2) (* d3 d3))))

 
数学arrrgh公司
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:47:22 | 显示全部楼层
像这样的?
 
每条线可以位于无限多个平面中,但其中只有两个在3-空间中相互平行,因此取线的两个方向向量的叉积,我们可以找到这些平行平面的法向量。然后,我们可以使用点积将两个平面之间的任何向量投影到单位法线,以获得最短距离。
 
这可能对您有所帮助:
 
http://lee-mac.com/mathematicalfunctions.html
 
 
回复

使用道具 举报

40

主题

132

帖子

107

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
227
发表于 2022-7-6 10:55:36 | 显示全部楼层
哇,谢谢!
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 11:12:29 | 显示全部楼层
 
哦,是的。。。谢谢李
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-7 00:03 , Processed in 0.442065 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表