Добавил:
abhai2013@gmail.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ГМ / Lab3

.docx
Скачиваний:
17
Добавлен:
30.06.2018
Размер:
50.57 Кб
Скачать

Студента ИТ 14-1 Красовского А.В.

Лабораторная работа 3

Преобразование объектов на плоскости

Цель работы: выработка практических навыков преобразования на плоскости.

Вариант 11

Задание: по точкам, заданным в диалоге, построить треугольник и осуществить его преобразования в соответствии с вариантом задания. Необходимые параметры задать в режиме диалога.

Преобразования:

6) Отражение точки относительно начала координат.

8) Преобразование сдвига (координата х' становится линейно зависимой от у):

Выполнение задания. Код программы:

(defun LAB3()

(command "_COLOR" 5)

(command "_LINE" '(0 -100) '(0 100) c)

(command "_LINE" '(-100 0) '(100 0) c)

(setq st "Y")

(while (= st "Y")

(command "_COLOR" 7)

(setq p1 (getpoint "\nPoint_1: "))

(setq p2 (getpoint "\nPoint_2: "))

(setq p3 (getpoint "\nPoint_3: "))

(command "_LINE" p1 p2 p3 p1 c)

(setq x1 (nth 0 p1))

(setq x2 (nth 0 p2))

(setq x3 (nth 0 p3))

(setq y1 (nth 1 p1))

(setq y2 (nth 1 p2))

(setq y3 (nth 1 p3))

(setq p11 (list (* x1 -1) (* y1 -1)))

(setq p21 (list (* x2 -1) (* y2 -1)))

(setq p31 (list (* x3 -1) (* y3 -1)))

(command "_COLOR" 4)

(command "_LINE" p11 p21 p31 p11 c)

(setq t21 (getint "\nМасштаный коэффициент для 6 метода: "))

(command "_COLOR" 2)

(setq x12 (+ (* t21 y1) x1) )

(setq x22 (+ (* t21 y2) x2) )

(setq x32 (+ (* t21 y3) x3) )

(setq pt1 (list x12 y1))

(setq pt2 (list x22 y2))

(setq pt3 (list x32 y3))

(command "_LINE" pt1 pt2 pt3 pt1 c)

(setq st (getstring "\nПродолжаем ? (Y/N):"))

(setq st (strcase st))

)

)

Результат работы программы:

Вывод: в ходе лабораторной работы были получены навыки преобразования обьектов на плоскости.

Соседние файлы в папке ГМ