Циклы в лисп для построения геометрии - Lisp
Формулировка задачи:
Добрый день!
Абсолютный новичок в ЛИСП.
Для работы очень срочно нужно понять можно ли реализовать это в ЛИСП.
Читаю в интернете литературу, но именно по рисованию геометрии почему-то очень мало примеров.
Нужно начертить сетку - переменное количество горизонтальных и вертикальных линий, и по результатам вычислений некоторые углы (пересечения сетки) будут еще соединятся наклонными линиями.
Хочу сделать это циклами. Пробую функцией loop, но ничего не выходит...
Может есть какие-то примеры похожие?
Я имею в виду использование ЛИСП для автокада.
Решение задачи: «Циклы в лисп для построения геометрии»
textual
Листинг программы
(defun gra-000 nil (let ((w (gensym 'w))) (grwCreate w 300 300 "Проба" _WHITE) (grwScale w -100 100 -100 100) (iter (for x from -100 to 100 by 20) (grwLine w x -100 x 100 _BLACK)) (iter (for y from -100 to 100 by 20) (grwLine w -100 y 100 y _BLACK)) (grwShow w))) ==> GRA-000 (gra-000) ==> W1
Объяснение кода листинга программы
В данном коде на языке Lisp реализована функция gra-000
, которая рисует прямоугольник на экране графического интерфейса.
Список действий, выполняемых в коде:
- Создание графического окна с помощью функции
grwCreate
с указанием размера окна в пикселях (300x300) и цвета заливки (проба). - Изменение размера окна с помощью функции
grwScale
с указанием новых размеров (300x300) и цвета заливки (_BLACK). - Создание цикла с помощью функции
iter
для прорисовки горизонтальных линий с помощью функцииgrwLine
с указанием координат начала и конца линии (-100, -100) и цвета (_BLACK). - Создание цикла с помощью функции
iter
для прорисовки вертикальных линий с помощью функцииgrwLine
с указанием координат начала и конца линии (-100, -100) и цвета (_BLACK). - Отображение графического окна с помощью функции
grwShow
. Переменные, используемые в коде: w
— переменная, хранящая ссылку на графическое окно._WHITE
— константа, указывающая цвет белого._BLACK
— константа, указывающая цвет черного. Пояснение к коду: — В данном коде используется функцияgrwCreate
, которая создает графическое окно с указанными размерами и цветом заливки. — ФункцияgrwScale
изменяет размер графического окна. — ФункцияgrwLine
рисует линии на графическом окне. — ФункцияgrwShow
отображает графическое окно на экране. — Циклы используются для прорисовки всех горизонтальных и вертикальных линий.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д