Lisp代码
我很喜欢这个网站和使用autolisp代码。有人知道我可以用什么方法写一个简单的代码吗
公式
y=mx+b
或者任何其他类型的图形计算?
谢谢jtp (setq y(+(*M X)B))????????? 这将绘制大多数函数:
http://www.cadtutor.net/forum/showthread.php?53014-绘制正余弦波任意想法&p=358974&viewfull=1#post358974
使用该功能:
(setq fun (lambda ( x ) (+ (* m x) c)))
对于任意m&c值。 李·麦克,
您将如何编写此代码?
(defun c:testL (/ L1 L2 1data 2data 1A 1B 2A 2B s_t X1 X2 X3 X4 line_distance)
(while (not (and
(setq L1 (car (entsel "\nSelect a Line: "))
L2 (car (entsel "\nSelect another Line: "))
)
)
)
)
(cond
((setq
1data (entget L1)
2data (entget L2)
1A (cdr (assoc 10 1data)) ; start of first Line
1B (cdr (assoc 11 1data)) ; end of first Line
2A (cdr (assoc 10 2data)) ; start of second Line
2B (cdr (assoc 11 2data)) ; end of second Line
s_t 0
)
(repeat 3
(setq x1 (nth s_t 1A)
x2 (nth s_t 1B)
x3 (nth s_t 2A)
x4 (nth s_t 2B)
)
(setq vts
(/ (* (abs (- x3 x1))
(* (abs (- x2 x1)) (abs (- x4 x3)))
)
(* (abs (- x2 x1)) (abs (- x4 x3)))
)
)
(set (setq vv (read (strcat "D" (itoa (+ s_t 1))))) vts)
(setq s_t (1+ s_t))
)
(setq line-distance (sqrt (+ (* d1 d1) (* d2 d2) (* d3 d3))))
(princ)
)
)
)
这是一个获得两条斜线之间最短距离的方程。。。不知怎的,我没有得到我需要的结果。。
这部分是我不确定的地方(公式)
(setq line-distance (sqrt (+ (* d1 d1) (* d2 d2) (* d3 d3))))
数学arrrgh公司 像这样的?
每条线可以位于无限多个平面中,但其中只有两个在3-空间中相互平行,因此取线的两个方向向量的叉积,我们可以找到这些平行平面的法向量。然后,我们可以使用点积将两个平面之间的任何向量投影到单位法线,以获得最短距离。
这可能对您有所帮助:
http://lee-mac.com/mathematicalfunctions.html
李 哇,谢谢!
哦,是的。。。谢谢李
页:
[1]