Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекц_1_LISP_кор.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
209.41 Кб
Скачать

Побудова параметризованих зображень

Функції quote, polar, angle, distance, inters, list.

Функція quote повертає вираз не обчислюючи його. Дозволяє задати точку, наприклад: (quote(100 100)) – точка з координатами 100, 100.

В тексті програми символ quote як правило заміняють еквівалентним позначенням: . Наприклад: (quote A) те ж саме що і A.

Способи завдання геометричної точки в програмі. Точка може бути задана п’ятьма способами:

  1. через вже відому функцію getpoint.

  2. завдання координат точки у вигляді списка з двох (двохвимірна точка) або трьох (трьохвимірна точка) елементів за допомогою функції quote.

Приклад: (100 100) – 2-х вимірна точка

(100 100 100) - 3-х вимірна точка.

  1. завдання точки через іншу точку, кут і відстань за допомогою функції polar:

(polar_ точка_кут_відстань)

Наприклад:

(setq P2 (polar P1 (/ PI 4) l))

  1. визначення точки перетином двох відрізків за допомогою функції inters:

(inters_ точка1_точка2_точка3_точка4_ознака)

а) – точка на перетині прямих, б) – точка на перетині продовжень прямих.

Якщо “ознака” дорівнює NIL, то точка, визначена перетином буде на продовженнях відрізків (рис. б). Якщо “ознака” має будь-яке значення, відмінне від NIL, або якщо “ознака” взагалі відсутня, то шукається точка тільки всередині відрізків (рис. а). Якщо вона відсутня, то функція inters повертає NIL.

5. визначення точки за допомогою функції list. Функція формує список з читанням координат точок за допомогою функції car – (координата х) та функції cadr – (координата у).

Наприклад:

(setq P3 (list (car P1) (cadr P2))), - точка Р3 має координату х таку ж як точка Р1, а координату у таку ж як точка Р2.

Функція angle повертає дійсне число, яке дорівнює куту в радіанах, який утворюється прямою, що проходить через точки Р1 і Р2 та віссю х:

(setq alfa (angle P1 P2))

Функція distance повертає дійсне число, яке дорівнює відстані між точкою Р1 та точкою Р2:

(setq L12 (distance P1 P2))