20020672 发表于 2006-4-28 22:34:00

哪位大侠进来看看,小弟实在没办法了!

<P>(defun c:zidong()<BR>&nbsp; (setq x0 (getpoint "请输入起点坐标"))<BR>&nbsp; (setq n (getint "请输入段数"))<BR>(setq l0 '())<BR>(repeat n<BR>&nbsp; (setq i(getreal "请输入跨距"))<BR>(setq l0 (append l0 (list i))))<BR>&nbsp; (setq m0 0)<BR>&nbsp; (setq n0 1)<BR>&nbsp; (setq x3 (list (car x0) (-(cadr x0) 2.5)))<BR>&nbsp; (setq x4 (list (car x3) (-(cadr x3) 2)))<BR>&nbsp; (command "trace" 0.9 x0 x3 "")<BR>&nbsp; (command "circle"&nbsp; x4 2 )<BR>&nbsp; (while (&lt;= n0&nbsp; n)<BR>&nbsp;&nbsp;&nbsp; (setq l (nth m0 l0))<BR>&nbsp;&nbsp;&nbsp; (setq x1 (list (+ (car x0) l) (cadr x0)))<BR>&nbsp;&nbsp;&nbsp; (setq x2 (list (+ (car x0) l) (-(cadr x0) 2.5)))<BR>&nbsp;&nbsp;&nbsp; (setq x5 (list (car x2) (-(cadr x2) 2)))<BR>&nbsp;&nbsp;&nbsp; (setq n0 (+ n0 1))<BR>&nbsp;&nbsp;&nbsp; (setq m0 (+ m0 1))<BR>&nbsp;&nbsp;&nbsp; (command "trace" 0.9 x0 x1 "")<BR>&nbsp;&nbsp;&nbsp; (command "trace" 0.9 x1 x2 "")<BR>&nbsp;&nbsp;&nbsp;&nbsp; (command "circle" x5 2 )<BR>&nbsp;&nbsp;&nbsp; (setq x0 (list (car x1)(cadr x1)))<BR>&nbsp;&nbsp;&nbsp; ))</P>
<P>上面的程序是一个完整正确的程序,可以运行看看,现在我想再设两个变量,一个是股道a0,一个股道间距a,当a0=1时,就照上面的程序画图,当a0=2时,上面的图也画,但是还要加画一个图,就是上面的程序以 y=a/2+"起点坐标" 这条线为对称轴的图,我怎么改都有错,不知道改如何办了,求大家帮忙了!!!</P>
<P>就是把图1 变为图2!请大家看看</P>

20020672 发表于 2006-4-28 22:36:00

图片不知道怎么贴上来
页: [1]
查看完整版本: 哪位大侠进来看看,小弟实在没办法了!