ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.06.2019

Просмотров: 107

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Студента ИТ 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))

)

)





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


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