Циклы в лисп для построения геометрии - 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, которая рисует прямоугольник на экране графического интерфейса. Список действий, выполняемых в коде:

  1. Создание графического окна с помощью функции grwCreate с указанием размера окна в пикселях (300x300) и цвета заливки (проба).
  2. Изменение размера окна с помощью функции grwScale с указанием новых размеров (300x300) и цвета заливки (_BLACK).
  3. Создание цикла с помощью функции iter для прорисовки горизонтальных линий с помощью функции grwLine с указанием координат начала и конца линии (-100, -100) и цвета (_BLACK).
  4. Создание цикла с помощью функции iter для прорисовки вертикальных линий с помощью функции grwLine с указанием координат начала и конца линии (-100, -100) и цвета (_BLACK).
  5. Отображение графического окна с помощью функции grwShow. Переменные, используемые в коде:
  6. w — переменная, хранящая ссылку на графическое окно.
  7. _WHITE — константа, указывающая цвет белого.
  8. _BLACK — константа, указывающая цвет черного. Пояснение к коду: — В данном коде используется функция grwCreate, которая создает графическое окно с указанными размерами и цветом заливки. — Функция grwScale изменяет размер графического окна. — Функция grwLine рисует линии на графическом окне. — Функция grwShow отображает графическое окно на экране. — Циклы используются для прорисовки всех горизонтальных и вертикальных линий.

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы