Здоровьесберегающая: соблюдение санитарных норм при работе с компьютером, соблюдение правил техники безопасности, оптимальное сочетание форм и методов, применяемых на занятии.
Литература:
1. Учебник И.Г. Семакин, Е. К. Хеннер, «Информатика», 11 класс. БИНОМ, 2018.
2. Босова Л. Л., Босова А. Ю. Информатика. 11 класс. Базовый уровень. — М.: БИНОМ, 2016.
3. Семакин И. Г., Е. К. Хеннер. Информатика и ИКТ. 10—11 класс/ М.: БИНОМ. Лаборатория знаний, 2008.
4. К. Ю. Поляков, Е. А. Еремин. Информатика. 11 класс. Базовый и углубленный уровни: учебник в 2 ч. Ч. 1 / М.: БИНОМ. Лаборатория знаний, 2016
План
Трёхмерная графика.
Проекции.
Сеточные модели.
Трёхмерная графика
Раньше, говоря о компьютерной графике, мы имели в виду двумерные («плоские») изображения. Невозможно «повернуть» автомобиль, изображённый на таком рисунке, и посмотреть на него с другой стороны. В то же время реальный автомобиль — это трёхмерный объект, поэтому при решении многих задач его «плоской» модели (рисунка, фотографии) недостаточно.
Трёхмернаяграфика (ЗD-графика, от англ. З-Dimensions — 3 измерения)— это раздел компьютерной графики, который занимается созданием моделей и изображений трёхмерных объектов.
В программах для работы с ЗD-графикой строятся трёхмерные (пространственные) модели объектов, в которых каждая точка имеет три координаты (а не две, как на «плоском» рисунке). Затем пользователь может выбрать в пространстве точку наблюдения и получить плоское изображение, т. е. построить проекцию трёхмерной сцены на плоскость. Многие программы позволяют создавать анимацию, показывающую движение трёхмерных объектов в пространстве.
ЗD-модели применяются не только для построения двумерных изображений. Их используют для различных вычислений, например. для расчёта прочности деталей. В последние годы активно разрабатываются ЗD принтеры, которые позволяют методом послойной печати построить объёмный физический объект (чаще всего из пластика) по его трёхмерной модели.
Перечислим важнейшие области применения трёхмерной графики:
• компьютерное проектирование машин и механизмов (САПР — системы автоматизированного проектирования);
• компьютерные тренажёры и обучающие программы;
• построение трёхмерных моделей в науке, промышленности, медицине;
• дизайн зданий и интерьера (внутренней обстановки);
• компьютерные эффекты в кино и телевидении; существуют даже полнометражные фильмы, которые полностью созданы с помощью трёхмерной графики и анимации;
• телевизионная реклама;
• интерактивные игры.
Создание изображений с помощью ЗD-графики включает несколько этапов:
1)моделирование — создание трёхмерных объектов, персонажей;
2)текстурирование (раскраска) — наложение на модели рисунков (текстур), которые имитируют реальный материал (дерево, мрамор, металл, кожу и пр.);
3)освещение — установка и настройка источников света;
4)анимация — описание изменения объектов во времени (изменение положения, углов поворота, свойств);
5)съёмка — установка камер (выбор точек съёмки), перемещение камер по сцене;
6)рендеринг(визуализация) — построение фотореалистичного изображения или анимации.
Среди профессиональных программ ЗD-моделирования наиболее популярны продукты фирмы Autodesk (www.autodesk.com): 3D StudioМАХ, Maya и AutoCAD, а также программа Cinema4D фирмы MAXON (www.maxon.net). Мы будем использовать для иллюстраций свободно распространяемый пакет ; Blender (www.blender.org), версии которого существуют для операционных систем Windows, Linux, Mac OS и других,
Для работы с программами трёхмерной графики нужен компьютер с мощным процессором и большим объёмом оперативной и дисковой памяти. Построение качественных фотореалистичных изображений (которые выглядят как фотографии) занимает огромное время, иногда несколько часов расчётов на один кадр.Во многих программах есть возможность сетевого рендеринга, когда для рассчёта изображения используются мощности нескольких компьютеров, объединённых в сеть (англ. renderfarm — рен-дер-фермы).
Проекции
Хотя программы трёхмерной графики предназначены для создания трёхмерных моделей объектов, пользователь видит только плоское (двухмерное) изображение на мониторе или бумажном отпечатке, т. е. проекцию. На рисунке 1 показаны четыре проекции модели головы обезьянки Сюзанны (объект Monkey), которая включена в набор стандартных объектов программы Blender. Вы видите три стандартные проекции этой модели (виды спереди, сверху и справа) и одну произвольную проекцию (проекцию пользователя)
Рисунок1
Программа Blender позволяет видеть четыре проекции одновременно или оставить только одну проекцию пользователя, которая занимает всю рабочую область. Для переключения между этими режимами используется комбинация клавиш Ctrl+Alt+Q.
Обычно работают с одним видом, который занимает всю рабочую часть окна. Для быстрого перехода к стандартным проекциям (видам спереди, сверху, справа и др.) используется меню Вид (View) или дополнительная цифровая клавиатура (англ. numpad), расположенная в правой части стандартной клавиатуры (рис. 2)
Рисунок 2
Далее для обозначения этих клавиш будем использовать «приставку» Num., например Numl обозначает клавишу «1» на дополнительной цифровой клавиатуре.
Существует два типа проекций: перспективные и ортогональные (их также называют прямоугольные или ортографические). На рисунке 3 показаны перспективная и ортогональная проекций куба.
Рисунок 3
Наш взгляд привык к перспективе: удалённые предметы кажутся меньше по размеру, параллельные линии «сходятся» в бесконечной точке (вспомните, как выглядит уходящее вдаль шоссе). Однако при трёхмерном моделировании такие проекции не совсем удобны, потому что искажают форму и размеры объектов.
Для ортогональной проекции все по-другому: размеры не зависят от расстояния до предмета, а параллельные грани остаются параллельными и на проекции. Ортогональные проекции очень полезны, потому что делают трёхмерную сцену проще и позволяют оценить истинные размеры объектов.
В редакторе Blender тип проекции показывается в левом верхнем углу рабочего окна. Например, надпись TopOrtho означает «вид сверху» (англ. topview), ортогональная проекция (англ. orthograpgic). Надпись FrontPersp означает «вид спереди» (англ. frontview), перспективная проекция (англ. perspective).
Чтобы переключиться с ортогональной проекции на перспективную или наоборот, нужно нажать кнопку «5» на дополнительной клавиатуре (Num5).
Вращая колесико мыши, пользователь может уменьшать и увеличивать масштаб изображения в окне, над которым находится курсор мыши (размеры самого объекта при этом не меняются). Для вращения произвольной проекции нужно перемещать мышь при нажатой средней кнопке (колесике). Нажав одновременно колесико мыши и клавишу Shift, можно перемещать изображение вокне, не поворачивая его.
Для вращения и перемещения удобно использовать клавиши-стрелки на дополнительной цифровой клавиатуре (Num2, Num4, Numfi и NumS): в обычном режиме они вращают сцену, а при нажатой клавише Ctrl перемещают точку наблюдения.
Примитивы
Построение трёхмерных моделей обычно начинается с примитивов — простейших объектов. К ним относятся плоскость (точнее, её прямоугольная часть), куб, сфера, цилиндр, конус, тор инекоторые другие (рис. 4).
Рисунок 4
При создании объекта ему автоматически присваивается имя. Например, первый куб будет называться Cube, второй — Cube.001 ит. д. Это имя можно изменить на панели свойств объекта, которая расположена в правой части окна программы Blender . (рис. 5)
Рисунок 5
Выделение объектов
Для того чтобы работать с объектом, например изменять его свойства, предварительно нужно выделить его. В программе Blender для этого используется правая кнопка мыши (а не левая, как в других программах).
При нажатой клавише Shift можно выделить правой кнопкой мыши несколько объектов одновременно. Если повторно щёлкнуть на объекте, выделение снимается.
С помощью клавиши А (от англ. all — всё) снимается выделение со всех объектов, а если ни один объект не был выделен, все они выделяются.
После нажатия клавиши В (от англ. borderselect — выделить рамкой) можно с помощью мыши обвести прямоугольной рамкой все объекты, которые нужно выделить. Если объект хотя бы частично попал в рамку, он будет выделен. Кроме того, можно нажать левую кнопку мыши и, удерживая нажатой клавишу Ctrl, «обвести» все нужные объекты произвольным контуром.
Для мелких объектов удобно использовать круговое выделение. Этот инструмент включается при нажатии клавиши С: появляется окружность, размер которой регулируется колесиком мыши. Затем щелчком (или «протаскиванием») левой кнопкой мыши выделяются все элементы, попадающие внутрь окружности. Если в этом режиме случайно выделен лишний объект, выделение можно снять, нажав на колесико мыши.
Существуют и другие, более сложные способы выделения объектов, которые доступны через меню Select.
С помощью клавиши Num. (точка на цифровой клавиатуре) можно приблизить выделенный объект, а клавиша Num/ временно скрывает остальные объекты (кроме выделенных).
Преобразования объектов
Любой объект можно перемещать, вращать и масштабировать (изменять размеры). Эти операции называются преобразованиями объектов или трансформациями (англ. transformations).
В опорной точке (англ. origin — начало координат) выделенного объекта появляется так называемый манипулятор с тремя стрелками, параллельными осям координат (рис. 6) Ось Z (синяя стрелка в Blender) направлена вверх, а оси X (красная стрелка в Blender) и Y (зелёная стрелка в Blender) находятся в горизонтальной плоскости.
Рисунок 6
За эти стрелки объект можно перетаскивать левой кнопкой мыши, меняя его положение только по одной выбранной оси. Центральный круг дает возможность произвольно перемещать объект в плоскости проекции.
Объекты можно вращать как в плоскости проекции (нажав клавишу R, от англ. rotate — вращение), так и вокруг одной выбранной оси (для этого после нажатия клавиши R нужно нажать клавишу с названием оси — X, Y или Z). Можно использовать специальный манипулятор вращения, позволяющий вращать фигуру за выделенные части окружностей (рис. 7)
Рисунок 7
Чтобы изменить размеры объекта, нужно нажать клавишу S (от англ. scale— изменить масштаб) и перемещать мышь. Чтобы изменять размер только по одной из осей, нужно после нажатия клавиши S нажать клавишу с названием оси. Манипулятор изменения размеров содержит небольшие кубики на концах указателей осей (см. рис. 7). Перетаскивая один из них, можно менять соответствующий размер.
Координаты, углы поворота и размеры объектов можно задавать с клавиатуры в числовой форме. В программе Blender для этого используют панель Преобразование (Transform) — рис. 8, которая появляется при нажатии клавиши N. Числовые свойства можно также изменять с помощью мыши (перетаскивая влево и вправо стрелки рядом со значениями).
Рисунок 8
Копия выделенного объекта создаётся с помощью клавиш Shift+D. Затем объект-копию нужно переместить мышью в нужное место и зафиксировать щелчком левой кнопкой. Если предварительно нажать клавишу X, Y или Z, объект-копия будет перемещаться только вдоль указанной оси.
Удалить выделеннный объект со сцены можно с помощью клавиши Delete.
Системы координат
По умолчанию используется глобальная («мировая») система координат, начало которой находится в точке с координатами (0,0,0) пространства сцены, она не зависит от положения объекта. Иногда бывает удобно перейти к локальной системе координат, которая связана с объектом. Её центр находится в опорной точке объекта, а оси меняют направление при его вращении, показывая, где у объекта «верх» (локальная ось Zлок), «право» (локальная ось Хлок) и т. д. На рисунке 9 показаны направления осей глобальной и локальной систем координат для повёрнутого конуса.
Рисунок9
В программе Blender можно выбрать нужную в данный момент систему координат с помощью выпадающего списка в нижней части рабочего окна. Именно эти оси будут использоваться при перемещении, вращении и изменении размеров объекта.
Слои
Трёхмерная сцена в Blender может состоять из нескольких слоев. В рабочем окне видны только те объекты, которые расположены на активном слое. Активный слой можно выбрать щелчком мышью на специальной панели в нижней части рабочего окна (рис. 10).
Рисунок 10
Всего можно использовать 20 слоев, в данном случае (см. рис. 10) какие-то объекты есть на слоях 1, 2 и 4. Активный слой — слой 2, его клетка выделена тёмно-серым фоном. Щёлкая мышью на клетках панели при нажатой клавише Shift, можно сделать активными несколько слоев, чтобы показать все связанные с ними объекты.
Объект может принадлежать не только одному, но и нескольким слоям. Для этого их нужно выделить в аналогичном элементе управления на панели свойств объекта. Здесь же можно перевести объект с одного слоя на другой. Для этих операций можно также использовать всплывающее окно, которое появляется при нажатии клавиши М.
Связывание объектов
Представим себе, что мы построили трёхмерную модель стола, на котором размещены тарелки, чашки и столовые приборы. Теперь нужно передвинуть стол в другое место сцены и немного развернуть его. При этом точно так же должны переместиться и все объекты, стоящие на столе. Чтобы проще решить эту задачу, нужно «привязать» к столу все стоящие на нем предметы, т. е. на панели свойств установить для них так называемый родительский объект (англ. parent — родитель). Можно поступить иначе: выделить, удерживая клавишу Shift, все нужные объекты (тарелки, чашки и т. д.), последним выделить родительский объект (стол) и нажать клавиши Ctrl+P,
После этого при всех преобразованиях объекта-родителя (перемещении, вращении, масштабировании) те же самые преобразования применяются и к объекту-потомку. В то же время объект-потомок по-прежнему можно перемещать независимо от родителя, т. е. мы можем свободно двигать чашку по столу.
Обратите внимание на отличие группы в Blender от аналогичных средств в большинстве программ, работающих с графикой: объекты в такой связанной группе неравноправны — среди них есть один родительский объект и несколько потомков.
Всю структуру сцены (иерархию объектов) можно посмотреть в специальном окне Структура проекта (Outliner) — рис. 11. Здесь видно, например, что объект Cube — родительский для объекта Cube.001.
Справа от имени объекта в окне Структура проекта показаны три значка: щелчок мышью на изображении глаза скрывает объект; если щёлкнуть на значке , то объект будет нельзя выделить (иногда это не нужно), а щелчком на значке можно запретить показ объекта при рендеринге.
Рисунок 11
Сеточные модели
Как строятся объекты?
По умолчанию объекты в Blender изображаются как объёмные твердые тела (англ. solid — сплошной). При этом не сразу понятно, как же программа может быстро перестраивать изображение при изменении точки наблюдения. Для того чтобы понять внутреннее устройство объектов, нужно с помощью списка переключиться в другой режим, который называется Каркас (англ. wireframe). Мы увидим, что каркас куба включает (рис. 12):
Вершина (англ. vertex) — это точка в трёхмерном пространстве, которая задается тремя координатами. Ребро (англ. edge) — это отрезок, соединяющий две вершины. Рёбра ограничивают грани (англ. face) — участки поверхностей. У куба 6 граней: ABCD, EFGH, ABFE, CDHG, ADHE и BCGF.
Такие модели называются сеточными (англ. mesh), потому что они представляют собой поверхности, которые строятся на сетке из рёбер. Чаще всего используются треугольные и четырёхугольные грани, однако последние версии Blender могут работать с гранями, состоящими из большего числа рёбер, — так называемыми N-угольниками или полигонами. Поэтому часто применяют выражение «полигональная модель» (от англ. polygon — многоугольник, полигон). Сфера и другие криволинейные поверхности тоже строятся из плоских граней, но их значительно больше, чем у куба.
Трёхмерные модели хранятся в векторном формате, для построения поверхности достаточно запомнить координаты вершин каркаса. По ним можно рассчитать координаты всех точек рёбер и граней. Каждая грань обрабатывается отдельно, поэтому чем больше граней, тем большее время требуется для расчётов
Редактирование сетки
Для изменения положения элементов сетки нужно перейти в режим редактирования (англ. Editmode). В программе Blender для этого используется клавиша Tab.
В режиме редактирования можно работать с вершинами, рёбрами и гранями. Нужный тип объектов выбирается с помощью показанного на рис. 13 элемента управления, который расположен в нижней части рабочего окна, или с помощью всплывающего меню, которое вызывается нажатием клавиш Ctrl+Tab. На рисунке 13 первая кнопка выделена тёмным фоном, это означает, что включён режим работы с вершинами.
Рисунок 13
При нажатой клавише Shift можно включить несколько режимов выделения сразу, например выделять рёбра и грани.
Для выделения элементов сетки используются те же методы, что и при выделении объектов. Затем их можно перемещать, вращать и масштабировать. Очень удобно использовать круговое выделение.
По умолчанию при работе с рёбрами и гранями выделяются не только видимые, но и невидимые элементы, расположенные на задней поверхности объекта. Чтобы этого не происходило, нужно ограничить выделение только видимыми элементами, щёлкнув на кнопке в нижней части рабочего окна.
В режиме работы с вершинами щелчок левой кнопкой мыши при нажатой клавише Ctrl создаёт новую вершину, которая соединяется с уже выделенной вершиной. Если выделить две вершины (используя клавишу Shift) и нажать клавишу F, между ними строится новое ребро.
Чтобы создать новую грань, нужно выделить все вершины замкнутого многоугольника и нажать клавишу F.
Для доступа к другим операциям с элементами сеточной модели можно использовать всплывающие меню, которые появляются при нажатии клавиш Ctrl+У (меню для вершин), Ctrl+£ (меню для рёбер) и Ctrl+f (меню для граней).
В Blender существует особый режим пропорционального редактирования (англ. proportionalediting). В этом режиме перемещаемая вершина, ребро или грань увлекает за собой соседние. В примере, показанном на рис. 14, перемещалась вверх только центральная вершина сетки.
Рисунок 14
Деление рёбер и граней
Часто требуется разделить ребро или грань на несколько частей. Для этой цели проще всего использовать инструмент Подразделять (Subdivide), который делит выделенные рёбра или грани на несколько равных частей. Примеры его использования показаны на рис.15.
Рисунок 15
Существует также инструмент Нож (Knife), который позволяет «разрезать» выделенные рёбра. Для этого нужно при нажатой клавише К нажать и не отпускать левую кнопку мыши, после чего курсор становится похожим на нож. Теперь остаётся провести мышь через точки деления рёбер. Если нажимать Shift+K вместо К, рёбра, через которые проходит нож, делятся ровно пополам.
Инструмент Разрезать петлёй со сдвигом (Loop Cut and Slide), который вызывается нажатием клавиш Ctrl+R, позволяет рассечь грани по контуру вокруг объекта и сдвинуть сечение в нужное место
Рисунок 16
(рис. 16). Колесиком мыши можно увеличивать число сечений.
Выдавливание
Один из самых полезных инструментов при работе с сеточными моделями — Выдавить участок (Extrude). Выдавливание состоит втом, что выбранная грань перемещается вдоль нормали (перпендикуляра к этой грани) и вокруг неё создаются новые грани. На рисунке 17 показаны два типа выдавливания центральной верхней грани куба.
Рисунок 17
Для того чтобы выполнить выдавливание, нужно выделить грань, нажать клавишу Е и мышью переместить грань в нужное положение.
Выдавливание можно применять также к выделенным рёбрам и вершинам. Чтобы они перемещались только по одной оси, нужно после клавиши Е нажать клавишу с названием этой оси (X, Y или Z)
Сглаживание
Вы уже знаете, что модель любой поверхности в программах трёхмерного моделирования строится из отдельных плоских граней. Однако во многих случаях реальный объект моделирования — гладкий, и на картинке нужно получить сглаженную поверхность (рис. 18).
Рисунок 18
Для сглаживания стыков между гранями используют инструмент Сгладить (Smooth), который может применяться как ко всему объекту, так и к отдельным граням. При этом важно, что геометрия объекта (количество граней, способ разбивки на грани) не изменяется. Обратите внимание на контур объекта — он остался угловатым. Программа выполняет сглаживание ("скругление») граней только при выводе изображения на экран, используя специальные алгоритмы затенения.
Есть и другой способ сглаживания — дополнительная разбивка на более мелкие грани, мы рассмотрим его в следующем параграфе.