本帖最后由 leimc 于 2026-5-6 08:58 编辑 $ F% o" u; M0 ?5 P$ j! h
* N7 s% Q2 p# V1 s/ e1 _' ~
& N( z: I/ B; j3 [4 y这是教程里的一道题
) x$ y! H% k% w) W2 l4 p8 r$ K- (defun c:lt()
; S$ E2 e2 @" v- J - (setvar "cmdecho" 0)
2 q! ~' Y) m! C/ Z - (setq p1 (getpoint "\n插入点"))
9 T9 [- b0 ?. A7 M+ H - (setq w (getreal "\n梯宽"))' t- Y* F7 x* C5 F3 R
- (setq h (getreal "\n梯高"))
- c( _- p7 r0 Y0 u. G - (setq n (getint "\n级数"))* U1 h- K9 A2 v5 ?/ {; s, U6 o" N
- (setq p2 (polar p1 0 w))
$ R% H/ t4 F+ T1 \" M, ^% V ?* } - (setq p3 (polar p2 (/ pi 2) h))
( Y, K% W& T6 i' w: S9 ^8 k+ u0 r
% L e0 v" D* r8 j- M$ j9 c( y- (command "line" p1 p2 p3 "")
% L2 S8 P- s& F" }+ U
' A5 H; f* F4 d; w- (setq w1 (/ w n))# ^$ h% `, Q: a- W# u5 y
- (setq h1 (/ h n)) _+ D9 s0 [1 P9 p S" x
- (setq pa p1)
5 P, k6 }7 R) Q0 I# D - (repeat n( a8 z" m; P# g' r
- (setq pb (polar pa (/ pi 2) h1))& w+ U/ y$ Z, y" o2 U9 r! U
- (setq pc (polar pb 0 w1))
" X& x) i7 v* d+ f - (command "line" pa pb pc "")
/ d6 d! s' ]8 B5 T0 q - (setq pa pc)
8 H/ b, j* E9 S! k4 D: z8 D - (prin1)))4 W; n( T# K/ C, i3 O! U
- (prompt "\n命令:lt")
复制代码
/ G: U7 A# }4 q- F& @- Q% k0 N! A5 w' t
[ 本帖最后由 leimc 于 2007-12-19 16:55 编辑 ] |