> 1 <
Автор | Сообщение |
PanNik
5 сообщений |
#3955 2011-02-22 14:35 GMT+3 часа(ов) |
Вот небольшая програмка, она рисует кружочки соотв радиуса вдоль нижней стенки прямоугольника соотв размера. Прошу помочь оптимизировать/уменьшить/упростить алгоритм/код программы. Или как бы вы решили (с проффесиональной точки зрения) эту задачу.
(DEFUN C:ROOM ( ) (SETQ A (GETPOINT (LIST 0 0) "\n Укажите точку отсчета")) (SETQ XR (GETREAL "/n Укажите длину пряиоугнольника" )) (SETQ YR (GETREAL "/n Укажите ширину прямоугольника" )) (SETQ B (POLAR A 0 XR)) (SETQ C (POLAR B (/ Pi 2) YR)) (SETQ D (POLAR A (/ Pi 2) YR)) (SETQ R (GETREAL "/n введите радиус")) (SETQ P ( LIST (+ (CAR A) R) (+ (CADR A) R))) (COMMAND "_Line" A B C D "_CLOSE") (WHILE (> (CAR B) (+ (CAR P) R)) (COMMAND "_CIRCLE" P R) (SETQ PX (+ (CAR P) (* R 2))) (SETQ PY (CADR P)) (SETQ P (LIST PX PY)) ) ) Волнует вот какая ещё проблема. При вводе определенных входных данных, строит наперекосяк. Например длинна 600000, ширина 500, и вот, например, если указать маленький радиус круга 38 отредактировал(а) PanNik: 2011-02-22 14:59 GMT+3 часа(ов) |
|
VH
289 сообщений |
#3956 2011-02-22 16:56 GMT+3 часа(ов) |
(defun C:ROOM () |
|
PanNik
5 сообщений |
#3957 2011-02-22 17:29 GMT+3 часа(ов) |
Спасибо! Осталось разобраться...
|
|
> 1 <