ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.06.2019
Просмотров: 108
Скачиваний: 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)) ) ) |
|
|
Результат работы программы:
Вывод: в ходе лабораторной работы были получены навыки преобразования обьектов на плоскости.