From 064022b153daf8bb9b47036037eebec92cc57ec7 Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Sat, 28 Nov 2020 20:55:47 +0400 Subject: =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=20Figu?= =?UTF-8?q?re.h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task06/Geom.txt | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ task06/Guschin/Figure.h | 8 ++++---- 2 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 task06/Geom.txt diff --git a/task06/Geom.txt b/task06/Geom.txt new file mode 100644 index 0000000..d9b4316 --- /dev/null +++ b/task06/Geom.txt @@ -0,0 +1,48 @@ +# установка камеры в точку (10,5,5) направленной в точку (10,5,0) +# с направлением вверх (0,1,0) +camera 10 5 5 10 5 0 0 1 0 +# установка окна с углом обзора 90 градусов +# с соотношением сторон 2:1 на расстоянии 5 от наблюдателя (от камеры) +# расстояние до горизонта - 20 +screen 90 2 5 20 + +# первый рисунок +model 1.5 1 0 3 2 1 # центр в точке (1.5, 1), размеры 3x2 +color 0 255 0 # цвет зеленый +thickness 3 # толщина линии 3 +path 5 # путь из четырех ребер (пять вершин) +0.5 0.5 0 # левый нижний угол +0.5 1.5 0 # левый верхний угол +2.5 1.5 0 # правый верхний угол +2.5 0.5 0 # правый нижний угол +0.5 0.5 0 # левый нижний угол + +# преобразования и размещения по описанию +pushTransform # сохранить отправную точку +rotate -45 0 0 1 # поворот на -45 градусов +pushTransform # сохранить преобразование поворота +scale 2.25 # масштабирование до большого прямоугольника +translate 5 5 0 # перенос центра рисунка в точку (5,5) +figure # запомнить положение и ракурс первого рисунка +popTransform # откатились к преобразованию поворота +scale 0.75 # масштабирование до малого прямоугольника +translate 15 1 0 # установить в позицию нижнего малого прямоугольника +figure # запомнить положение и ракурс второго экземпляра рисунка +translate 0 8 0 # передвинуться в позицию (15,9) из (15,1) +figure # запомнить положение и ракурс третьего экземпляра рисунка +popTransform # откатились к стартовой позиции + +# второй рисунок +model 1 1.25 0 2 2.5 1 # параметры рисунка с треугольником +color 255 0 0 # цвет красный +path 4 # четыре точки в маршруте +0.5 0.5 0 # нижний левый угол +1 2 0 0 # верхний угол +1.5 0.5 0 # нижний правый угол +0.5 0.5 0 # нижний левый угол + +# преобразования и размещения по описанию +rotate 90 0 0 1 # поворот на 90 градусов +scale 1.5 # масштабирование до синего прямоугольника +translate 15 5 0 # сдвиг в нужную позицию +figure # запомнить положение и ракурс рисунка diff --git a/task06/Guschin/Figure.h b/task06/Guschin/Figure.h index cf2a63e..4f2400c 100644 --- a/task06/Guschin/Figure.h +++ b/task06/Guschin/Figure.h @@ -5,11 +5,11 @@ class path { public: - std::vector vertices; + std::vector vertices; vec3 color; float thickness; - path(std::vector verts, vec3 col, float thickn) + path(std::vector verts, vec3 col, float thickn) { vertices = verts; color = col; @@ -20,8 +20,8 @@ public: class model { public: std::vector figure; - mat3 modelM; - model(std::vector fig, mat3 mat) { + mat4 modelM; + model(std::vector fig, mat4 mat) { figure = fig; modelM = mat; } }; \ No newline at end of file -- cgit v1.2.3