NetNado
  Найти на сайте:

Учащимся

Учителям



Виды компьютерной графики 2 Современные стандарты компьютерной графики 2



Оглавление


  1. Виды компьютерной графики 2

  2. Современные стандарты компьютерной графики 2

  3. Видеопамять 4

  4. Текстурирование и назначение материала объекту в трехмерной графике 5

  5. Изучение программы Adobe Photoshop (изучение инструментов группы рисования

- пейзаж) 10

  1. Изучение программы CorelDraw (работа с многостраничными документами) 20

  2. Моделирование сцены в 3DS Max с использованием различных деформаций 22

  3. Написать программу на языке Pascal, которая изображает на экране дисплея график

функции (A принимает значения: –1, 0.5, 1, 1.5; x:=[1, 7]) 31

Список используемой литературы 32

Виды компьютерной графики.

Несмотря на то что для работы с компьютерной графикой существует множество классов программного обеспечения, различают всего три вида компьютерной графики. Это растровая графика, векторная графика и фрактальная графика. Они отличаются принципами формирования изображения при отображении на экране монитора или при печати на бумаге.

 

Растровая компьютерная графика.

Растровую графику применяют при разработке электронных (мулътимедийных ) и полиграфических изданий. Иллюстрации, выполненные средствами растровой графики, редко создают вручную с помощью компьютерных программ. Чаще для этой цели используют сканированные иллюстрации, подготовленные художником на бумаге, или фотографии. В последнее время для ввода растровых изображений в компьютер нашли широкое применение цифровые фото- и видеокамеры. Соответственно, большинство графических растровых редакторов, предназначенных для работы с растровыми иллюстрациями, ориентированы не столько на создание изображений, сколько на их обработку. В Интернете пока применяются только растровые иллюстрации.

 

Векторная компьютерная графика.

Программные средства для работы с векторной графикой наоборот предназначены, в первую очередь, для создания иллюстраций и в меньшей степени для их обработки. Такие средства широко используют в рекламных агентствах, дизайнерских бюро, редакциях и издательствах. Оформительские работы, основанные на применении шрифтов и простейших геометрических элементов, решаются средствами векторной графики намного проще. Существуют примеры высокохудожественных произведений, созданных средствами векторной графики, но они скорее исключение, чем правило, поскольку художественная подготовка иллюстраций средствами векторной графики чрезвычайно сложна.

 

Фрактальная компьютерная графика.

Программные средства для работы с фрактальной графикой предназначены для автоматической генерации изображений путем математических расчетов. Создание фрактальной художественной композиции состоит не в рисовании или оформлении, а в программировании. Фрактальную графику редко применяют для создания печатных или электронных документов, но ее часто используют в развлекательных программах.
Современные стандарты компьютерной графики.
Представление о программном продукте как о промышленном изделии выдвинуло проблему стандартизации графического программного обеспечения. При этом развитие сетей ЭВМ, оснащенных терминальными устройствами различных типов, потребовало обеспечить независимость программного обеспечения от аппаратуры.

Первые результаты по стандартизации были получены применительно к сети ARPA в рамках работ по разработке протоколов для аппаратно и машинно-независимого представления графических данных в сети. Работы по протоколам послужили отправной точкой по развитию стандартизации в машинной графике.
Важную роль в разработке методологии стандартизации машинной графики сыграла конференция в Сейлаке (Франция) в 1976 г. На конференции было установлено, что основная цель стандартизации - переносимость графических систем, которая достигается стандартизацией интерфейса между графическим ядром системы (базовой графической системой), реализующим собственно графические функции, и моделирующей системой - проблемно-ориентированной прикладной программой, использующей функции графического ядра. Базовая система должна обладать: независимостью от вычислительных систем; независимостью от языков программирования; независимостью от области применения; независимостью от графических устройств.
Структура прикладной графической системы, удовлетворяющей сформулированным требованиям, может быть представлена в виде шестиуровневой модели.

Процесс преобразования информации при выполнении вывода может быть представлен состоящим из следующих этапов :
1. Модельные преобразования. Проблемно-ориентированный уровень из геометрических моделей отдельных объектов, задаваемых в собственных локальных системах координат, формирует описание совокупного объекта в некоторой единой (мировой) системе координат. Описание совокупного объекта подается в графическую систему.
2. Нормализующие преобразования. Графическая система переводит описание из мировой, вообще говоря произвольной, системы координат в т.н. нормализованные координаты устройства, имеющие фиксированные пределы изменения координат, например, от 0.0 до 1.0.
3. Преобразования сегментов. Если графическая система предоставляет средства манипулирования отдельными подкартинами изображения (часто именуемыми сегментами), например, для независимого размещения отдельных самостоятельных частей изображения, то могут потребоваться такие преобразования.
4. Видовые преобразования. В случае 3D описания изображения и 2D устройства вывода необходимо выполнить проецирование изображения на заданную картинную плоскость. Наоборот, при 2D сцене и 3D устройстве вывода необходимо выполнить преобразование, связанное с размещением изображения. При выполнении этих преобразований, естественно, может потребоваться выполнение отсечения частей изображения. После этого этапа по сути дела готово описание изображения в некоторой аппаратно-независимой форме, пригодной для вывода на любое устройство.
5. Преобразование рабочей станции. Для выполнения вывода на конкретное устройство необходимо преобразование данных из аппаратно-независимой формы в координаты устройства.
Процесс преобразования координатной информации при вводе от координатных устройств обратен преобразованию при выводе.

Верхний уровень стандартизации - IGES предназначен для обеспечения мобильности компонент САПР.
Средний уровень стандартизации - уровень базового графического пакета (GKS) определяется выбором базовых функций системы. Этот интерфейс делает базовую графическую систему независимой от области применения.
Нижний уровень стандартизации - уровень связи с виртуальным графическим устройством (CGI) зависит от выбора примитивов ввода/вывода, являющихся абстракцией возможностей устройств. Этот интерфейс делает базовую графическую систему аппаратно-независимой.

Независимость от вычислительных систем и языков программирования обеспечивается соответствующей дисциплиной программирования и взаимодействия с системами программирования.
Сегодня стандартизацией в машинной графике занимается 24-й подкомитет (ISO/IEC JTC1/SC24). Основными стандартами являются:
1. GKS (Graphical Kernel System) - набор базовых функций для 2D аппаратно-независимой машинной графики.
2. GKS-3D (Graphical Kernel System for 3 Dimensions) - расширение GKS для поддержки базовых функций в 3D.
3. PHIGS (Programmer's Hierarchical Interactive Graphics System) - набор базовых функций 3D графики аналогичный GKS-3D, но в отличие от GKS-3D, ориентированной на непосредственный вывод графических примитивов, группируемых в сегменты, графическая информация накапливается в иерархической структуре данных. В целом PHIGS ориентирован на приложения, требующие быстрой модификации графических данных, описывающих геометрию объектов.
4. Языковые интерфейсы (Language bindings) - представление функций и типов данных функциональных графических стандартов в стандартизованных языках программирования.
5. CGM (Computer Graphics Metafile) - аппаратно-независимый формат обмена графической информацией. Используется для передачи и запоминания информации, описывающей изображения.
6. CGI (Computer Graphics Interafce) - набор базовых элементов для управления и обмена данными между аппаратно-независимым и аппаратно-зависимым уровнями графической системы.
7. CGRM (Computer Graphics Reference Model) - модель стандартов в машинной графике, которая определяет концепции и взаимосоотношения применительно к будущим стандартам в машинной графике.
8. Регистрация - механизм регистрации стандартизуемых аспектов примитивов вывода, обобщенных примитивов, escape-функций (для доступа к аппаратным возможностям устройств) и других графических элементов.
9. Тестирование реализаций на соответствие графическим стандартам - основные цели этого проекта: специфицирование характеристик стандартизованных тестов, используемых для определения соответствия реализаций графическим стандартам, и выработка предписаний разработчикам функциональных стандартов относительно правил соответствия.
Видеопамять

Все перечисленные технологии, используемые в видеоадаптерах, относятся к динамической оперативной памяти, работа которой имеет ряд особенностей. Во-первых, доступ к ней осуществляется достаточно крупными блоками. Во-вторых, она должна быстро перезаписывать большие объемы данных без прерывания процедуры считывания, так как образ картинки, формируемой на экране монитора, постоянно считывается из этой памяти с частотой кадровой развертки монитора, и одновременно в эту же память операционная система осуществляет запись, в результате чего происходит изменение изображения.

FPM DRAM  (Fast Page Mode Dynamic RAM -  динамическое ОЗУ с быстpым стpаничным доступом) - основной тип видеопамяти, идентичный используемой в системных платах. Использует асинхpонный  доступ, пpи котоpом упpавляющие  сигналы  жестко не пpивязаны к тактовой частоте системы. Активно пpименялся пpимеpно до 1996 г. Hаиболее pаспpостpаненные микpосхемы FPM  DRAM - 4-pазpядные DIP и SOJ, а также - 16-pазpядные SOJ.

EDO DRAM (Extended Data Out DRAM - динамическое  ОЗУ с pасшиpенным вpеменем удеpжания данных на выходе) - тип  памяти с элементами конвейеpизации, позволяющий несколько ускоpить обмен блоками данных с видеопамятью.

SDRAM  (Synchronous  Dynamic  RAM - синхронное динамическое ОЗУ) пришел на замену EDO DRAM и других асинхронных одно-портовых типов памяти. После того, как произведено первое  чтение  из  памяти, или первая запись в память, последующие операции  чтения  или  записи  происходят с нулевыми задержками. Этим  достигается максимально возможная скорость чтения и записиданных.

VRAM (Video RAM - видеоОЗУ) - так называемая двух портовая DRAM. Этот  тип  памяти  обеспечивает доступ к данным со стороны сразу двух устройств, т.е. есть возможность одновременно писать данные в какую-либо ячейку памяти, и одновременно с этим читать данны е из  какой-нибудь соседней ячейки. За счет этого позволяет совмещать во времени вывод изображения на экран и его обработку в видеопамяти, что сокращает задержки при доступе и увеличивает скорость работы. Т.е. RAMDAC может свободно выводить на экран монитора раз за разом экранный буфер ничуть не мешая видео чипу осуществлять какие-либо манипуляции с данными. Hо однако это все таже DRAM и скорость у нее не слишком высокая.

WRAM (Window RAM) - вариант VRAM, с увеличенной на ~25% пропускной  способностью и поддержкой некоторых часто применяемых функций, таких как отрисовка шрифтов, перемещение блоков изображения и  т.п.  Применяется  практически  только  на акселераторах фирм Matrox и Number Nine, поскольку требует специальных методов доступа и обработки данных, наличие всего одного производителя данного  типа  памяти (Samsung) сильно сократило возможности ее использования.  Видеоадаптеры построенные с использованием данноготипа  памяти не имеют тенденции к падению производительности при установке  больших  разрешений  и  частот  обновления экрана, на одно-портовой же памяти в таких случаях RAMDAC все большее время занимает шину доступа к видеопамяти и производительность видеоадаптера может сильно упасть.

SGRAM  (Synchronous  Graphics  RAM - синхронное графическое ОЗУ) вариант  DRAM  с  синхронным  доступом. В принципе, работа SGRAM полностью  аналогична SDRAM, но дополнительно поддерживаются еще некоторые   специфические  функции,  типа  блоковой  и  масочной записи.  В отличие от VRAM и WRAM, SGRAM является одно-портовой, однако  может  открывать  две страницы памяти как одну, эмулируя двухпортовость других типов видеопамяти.

MDRAM  (Multibank  DRAM  -  много  банковое  ОЗУ) - вариант DRAM разработанный  фирмой  MoSys,  организованный  в  виде множества независимых   банков   объемом   по  32КБ  каждый,  работающих в конвейерном режиме и использующая распараллеливание операций доступа к данным между большим количеством банков памяти RDRAM   (RAMBus  DRAM)  память  использующая  специальный  канал передачи  данных  (Rambus  Channel),  представляющий  собой шину данных  шириной  в один байт. По этому каналу удается передавать информацию  очень большими потоками, наивысшая скорость передачи данных  для  одного  канала  на  сегодняшний  момент  составляет 1600MB/сек  (частота  800MHz,  данные передаются по обеим срезам импульса).  Hа один такой канал можно подключить несколько чипов памяти.  Контроллер этой памяти работает с одним каналом Rambus, на  одном чипе логики можно разместить четыре таких контроллера, значит  теоретически  можно  поддерживать  до  4  таких каналов, обеспечивая  максимальную пропускную способность в 6.4GB/сек. Hа сегодняшний   момент  этот  тип  памяти  обеспечивает  наивысшую пропускную  способность  на один чип памяти среди всех остальныхтипов памяти. Увеличение скоpости обpащения видеопpоцессоpа к видеопамяти, помимо повышения пpопускной способности  адаптеpа,  позволяет поднять максимальную частоту pегенеpации  изобpажения,  что снижает утомляемость глаз опеpатоpа.
Текстурирование и назначение материала объекту в трехмерной графике

Для того чтобы как-то описать положение текстуры на объекте, в трехмерной графике введено понятие система проекционных координат. Иначе говоря, это специальная система координат, которая привязывается к поверхности трехмерной модели и с помощью которой устанавливается точное положение текстуры на объекте. В отличие от привычных обозначений (X,Y,Z), проекционная система координат обозначается буквами UVW.

Каждый текстурируемый объект должен обладать своей проекционной системой координат.

Если вы посмотрите в настройки основных примитивов, то увидите, что в настройках их всех есть флажок Generate Mapping Coords. (Создавать систему проекционных координат). Установка этого флажка означает, что объекту присваивается проекционная система координат. Если вы назначаете объекту, который не имеет проекционных координат, материал, содержащий текстурные карты, 3ds Max автоматически создаст для него эту систему.

Чтобы сообщение Missing Map Coordinates (Отсутствуют проекционные координаты) вас не беспокоило, необходимо включить использование проекционной системы координат в настройках объекта или назначить объекту модификатор UVW Map (Карта проекционных координат UVW). Благодаря этому объект получит свою систему проекционных координат.

Cистемы проекционных координат


Существует несколько систем проекционных координат.

  • Planar (Плоская) - при выборе этой системы текстура на поверхность объекта проецируется плоско.

Чтобы понять, что такое плоское проецирование, представьте себе монитор, который ярко светится. Настолько ярко, что на ваше лицо, находящееся перед ним, проецируется картинка рабочего окна 3ds Max, которое отображается на экране. На лице этот рисунок искажается в соответствии с формой носа, подбородка и т. д., а с обратной стороны головы его вообще нет. При применении плоского проецирования к сфере рисунок будет заметен в ее центре, а по краям будет смазан. С обратной по отношению к плоскости проецирования стороны сферы рисунок будет отсутствовать. Плоское проецирование обычно используется для текстурирования стены, поверхности земли и т. д.

  • Cylindrical (Цилиндрическая) - эта система проецирования напоминает систему Planar (Плоская).

Если продолжить наш пример с монитором, то представьте себе, что в данном случае экран монитора будет свернут в цилиндр. Вы будете находиться в центре такого цилиндра, а изображение будет проецироваться на вас со всех сторон. Если установлен флажок Cap (Основание), то к такому цилиндрическому экрану добавятся еще два плоских экрана сверху и снизу. Систему Cylindrical (Цилиндрическая) удобно использовать для текстурирования цилиндрических объектов - труб, шлангов и т. д. Она также хорошо подойдет для текстурирования флакона дезодоранта. На рис. 1 к обоим цилиндрам применена одна и та же текстура, однако для объекта слева выбрана планарная система проецирования, а для объекта справа - цилиндрическая. Видно, что на объекте слева текстура лежит правильно только в основании.



Рис. 1  Результаты назначения планарной (слева) и цилиндрической (справа) систем проецирования

  • Spherical (Сферическая) - при выборе этой системы проецирование происходит внутри некой сферы.

Система Spherical (Сферическая) лучше всего подходит для текстурирования объектов правильной шарообразной формы, например шариков для розыгрыша лотереи или детского надувного мячика.

  • Shrink Wrap (Обтягивающая) - напоминает систему проецирования Spherical (Сферическая), однако углы текстуры сходятся в одной точке. Чтобы понять, как это выглядит, представьте себе, например, мешок, завязанный сверху.

  • Box (Параллелепипед) - при выборе этой системы проецирование выполняется внутри некоего параллелепипеда, каждая из граней которого содержит рисунок.

Модель помещается в воображаемый параллелепипед, и каждая из его граней проецирует рисунок на соответствующую сторону. Этот тип проецирования подходит для прямоугольных объектов - коробка конфет, курс и т. д.

  • Face (Грань) - такая система проецирования переносит текстуру на каждую грань оболочки модели (рис. 2).

Систему Face (Грань) удобно использовать для получения повторяющегося узора, например текстуры песка.



Рис. 2.  К обеим сферам применена карта Checker, но для объекта слева выбрана сферическая система проецирования, а для объекта справа - система Face

  • XYZ to UVW (XYZ в UVW) - эта система проецирования применяется, когда при изменении геометрической формы объекта текстура на нем должна растягиваться или сжиматься.

Один из примеров использования этой системы - резиновый шланг. Когда шланг растягивается, рисунок на нем также вытягивается.

Использование модификатора UVW Map


После применения к объекту модификатора UVW Map (Карта проекционных координат UVW) появляется вспомогательный габаритный контейнер, который помогает управлять положением центра выбранной системы проекционных координат. Форма такого контейнера соответствует системе проецирования, которая была выбрана. Например, если указана система проецирования Box, то габаритный контейнер будет иметь форму параллелепипеда, а если цилиндрическая система, то цилиндра. Габаритный контейнер можно перемещать в пространстве при помощи мыши. Для этого нужно переключиться на уровень подобъекта Gizmo (Гизмо). Кроме того, используя параметры Length (Длина), Width (Ширина) и Height (Высота) свитка Parameters (Параметры) настроек модификатора, можно управлять его размерами.

При помощи параметров U Tile (Повторить по координате U), V Tile (Повторить по координате V) и W Tile (Повторить по координате W) можно указать кратность повторения текстуры по той или иной координате.

В области Channel (Канал) можно указать канал проецирования для карты. Всего может использоваться до 99 каналов, благодаря чему можно назначать разные наборы координат одной и той же поверхности.

Текстурирование моделей сложной формы


Модификатор UVW Map (Карта проекционных координат UVW) - это очень удобный инструмент для управления положением текстуры на объекте. Однако, к сожалению, он подходит далеко не для всех моделей. Если модель имеет сложную геометрическую форму, его использование не принесет желаемого результата. Например, если нужно выполнить текстурирование персонажа, то к разным частям модели должны быть применены разные системы проецирования, допустим цилиндрическая к рукам и сферическая - к голове.

Для текстурирования моделей сложной формы в 3ds Max применяется модификатор Unwrap UVW (Развертка UVW). Он дает возможность создать развертку. Развертка представляет собой двухмерное изображение такой формы, которая точно соответствует форме поверхности. Как правило, развертка состоит из нескольких частей, каждая из которых используется для текстурирования того или иного элемента модели. По сути, операция создания развертки похожа на пошив одежды наоборот. Когда шьется одежда, создается выкройка и сшивается, а при выполнении развертки из готовой "одежды" создается выкройка.
Использование модификатора Unwrap UVW

Для выделения фрагментов модели используется уровень подобъектов Face (Грань). Переключившись в него, можно поочередно выделять те фрагменты модели, для которых должны использоваться разные системы проецирования, после чего выбирать подходящую систему в свитке Map Parameters (Параметры карты) (рис. 3).



Рис. 3.  Для руки персонажа выбрана система проецирования Cylindrical

Работая с модификатором Unwrap UVW (Развертка UVW), можно управлять положением вспомогательный габаритного контейнера сразу же после его появления в окне проекции. Дополнительного уровня субобъектов Gizmo (Гизмо), как в модификаторе UVW Mapping (Карта проекционных координат UVW), в Unwrap UVW (Развертка UVW) не предусмотрено.

Создание плоской развертки выполняется в окне редактора проекционных координат Edit UVWs (Pедактор UVW), которое вызывается нажатием кнопки Edit (Редактировать).

Полученную развертку можно визуализировать, после чего сохранить в виде файла для дальнейшего использования. Так, она может понадобиться для создания текстуры в Photoshop или другом графическом редакторе. Чтобы визуализировать развертку, выполните команду Tools>Render UVW Template (Инструменты>Визуализировать шаблон развертки UVW) в окне редактора Edit UVWs (Редактор проекционных координат UVW). В окне Render UVs (Визуализировать развертку) (рис. 4) можно задать разрешение картинки, режим визуализации, цвет ребер и другие параметры, после чего визуализировать развертку, нажав кнопку Render UV Template (Визуализировать шаблон развертки UV).



рис.4.

Изучение программы Adobe Photoshop (изучение инструментов группы рисования - пейзаж).



Для нашего примера я установил вдвое меньший размер, чем обычно и цветовую модель RGB. Обычно я пользуюсь CMYK, поскольку ориентируюсь на то, что мои работы будут печататься. Работайте с большим разрешением, даже если используете Интернет. В другом случае, скажем с разрешением 72 dpi, пиксели будут выглядеть грубее, участки изображения "сжимаются" и оно будет похоже на уменьшенную копию, а не на оригинал, нарисованный естественными красками. Кроме того, пропадут некоторые детали - будьте готовы и к этому.



Позле создания документа я закрашиваю фон нейтральным цветом. Я стараюсь не рисовать на белом фоне - это нарушает восприятие цветов и соотношения между ними. Если изображение темное, я использую для фона темный, теплый или холодный цвет, который будет хорошей основой для других цветов.
С этим разрешением лучше использовать жесткие кисти размером 5, 9, 35, 45 и, иногда, аэрограф размером 100. Спейсинг я поставил на 1, чтобы избежать появления "завихрений".



На этом эскизе я только набросал контуры гор. Для более сложных изображений нужен, конечно, более подробный эскиз. Я использовал мягкий аэрограф небольшого размера. Цвет кисти серый, чтобы она выделялась на фоне, но не черный.



Добавляем новый слой, над фоном. На нем и рисуем. Это позволяет не запортить фон, что может пригодиться. Особенно, если вы над ним долго работали.
В нашем примере я использовал приглушенные, средние цвета для скал и листвы. Но в природе все не такое правильное и единообразное, поэтому стоит поэкспериментировать с разными цветами, чтобы отобразить разницу в освещении.



Я выбрал аэрограф (жесткая кисть, размер 100 пикселей, в настройках - Multiply (умножение)). Цвет - такой же как у фона - отсэмплируйте (определите инструментом "Пипетка").



Я хочу показать на рисунке затененные области и заодно создать более темный вариант, который я смогу позже использовать для сэмплирования.

Обычно при рисовании я переключаюсь между аэрографом и пипеткой нажатием кнопки Alt/Option.



Создав несколько затененных участков, устанавливаем параметр Screen (экранный) на панели "слои".

Так, желто-коричневый получился немного теплее, чем я хотел. Устанавливаем аэрограф на Normal (нормальный) и делаем несколько мазков более приглушенным, светлым цветом.

Переключаем обратно на "экранный", сэмплируем пипеткой желтый цвет с какого-нибудь участка скалы и начинаем кистью размером 5-9 пикселей прорисовывать формы листьев кустарника.

При работе над кустарником я переключался между нормальным и экранным режимом, когда мне нужно было прорисовать темные и светлые грани листьев.



Прорисовываем детали (аэрограф в нормальном режиме). На этом этапе я просто сэмплирую темные и светлые тона пипеткой и рисую листья кистью размером 5 пикселей.



Теперь обозначаем длинные "стрелки" травы. Начинаем снизу, быстрыми, изогнутыми восходящими движениями карандаша. Пользуйтесь цветами, которые вам нравятся, но не забывайте добавлять оттенки, чтобы разнообразить картину.



Теперь перейдем к скале в левой части рисунка. Делаем несколько грубых мазков кистью 35, чтобы отобразить текстуру.

Вы можете оценить изменения - достаточно взглянуть на скалу в правой части рисунка. Затененные участки осветляются и сглаживаются мазками кисти отсэмпленого цвета.

Обычно я делаю несколько мазков, сэмплирую, рисую, снова сэмплирую, пока не достигну желаемого эффекта.



Увеличим масштаб, сделаем изображение четче и грубыми мазками создадим иллюзию неровностей на поверхности скалы. Обычно я работаю кистью размашисто, легкими касаниями пытаюсь смешать цвета, но также делаю и более яркие, заметные мазки. Это один из способов сделать изображение не похожим на цифровое.



Теперь сэмплируем цвет затененного участка и "мажем" кистью взад-вперед, чтобы прорисовать текстуру.



То же самое с листьями - сэмплируем и работаем кистью, пока не начнет проступать форма.



Здесь я добавил несколько деталей, чтобы изобразить трещину и неровности с правой стороны скалы. Для этого обработаем кистью, установленной на Highlight (осветление), затененный участок - движениями взад-вперед создадим иллюзию игры теней на неровной поверхности.



Аналогичный прием используем и для скалы. Стоит изменять цвет и текстуру, чтобы сделать изображение более интересным и разным.



Немного уменьшим масштаб и посмотрим, вписывается ли скала в окружающую обстановку. Если нет - редактируем дальше.



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



Отсэмплируем цвет тени и затемним некоторые участки изображения, чтобы скалы не выделялись из общей картины.



Снизу вверх, резкими мазками очень маленькой кисти я создаю основу для травы.
Делаем так, как советуют художники на телевидении - подчеркиваем свет тенью и наоборот.
Теперь делаем восходящие мазки над этими участками, чтобы создать глубину.



Обычно, чтобы быстро заполнить изображение, я делаю несколько грубых мазков туда-обратно. Это создает основу, поверх которой я прорабатываю детали.



Теперь добавим длинные травинки. Потом сэмплируем несколько цветов с поверхности скалы и делаем несколько мазков, чтобы разнообразить изображение и добиться единства стиля.



Вот окончательный вариант. Между скал я дорисовал траву. На заднем плане использовал быстрые восходящие мазки. Стоит использовать комбинацию Ctrl/Command + Z, чтобы быстро убрать травинки, не вписывающиеся в общую картину.

Изучение программы CorelDraw (работа с многостраничными документами).

Графический редактор CorelDRAW 10 позволяет работать с многостраничными документами. Для обычных иллюстраций эта возможность не слишком нужна, но при создании разнообразных электронных документов использование множества страниц просто необходимо.

При создании нового документа в нем всегда имеется только одна страница. Чтобы добавить дополнительную страницу в документ, выберите команду меню Layout/ Insert Page (Разбивка/Вставить страницу). На экране появится диалог вставки новой страницы в документ.



Рис. Диалог добавления страницы.

В поле Insert (Добавить) вводится количество новых страниц. Если переключатель под полем установлен в положение Before (Перед), то страницы будут вставлены перед, а если After (После), то после страницы, номер которой введен в поле Page (Страницы). В остальных полях диалога определяется размер и ориентация добавляемых страниц. Эти параметры можно изменить после добавления страниц. Нажмите кнопку ОК, и страницы будут добавлены в графический документ. Если вы хотите удалить одну или несколько страниц, выберите команду меню Layout/Delete Page (Разбивка/Удалить страницу). В появившемся диалоге вводится номер удаляемой страницы. Если вы хотите удалить несколько страниц, следует установить флажок Through to page (До страницы) и ввести в расположенное правее поле номер последней из удаляемых страниц. Нажмите кнопку ОК, и указанные страницы будут удалены. Страницы удаляются без повторного предупреждения, но удаление страниц, как и любую другую операцию в CorelDRAW 10 можно отменить. В случае ошибочного удаления страниц вы сможете восстановить их.

Чтобы перейти со страницы на страницу, требуется просто щелкнуть мышью на ярлычке нужной страницы, расположенном левее нижней полосы прокрутки. Выбрав команду Layouts/Rename Page (Разбивка/Переименовать страницу), вы можете переименовать текущую страницу. В появившемся диалоге вводится имя, после чего нажимается кнопка ОК.



Если страниц в документе много, то, выбрав команду меню Layout/Go To Page (Разбивка/Перейти на страницу), вы откроете диалог, облегчающий переход к нужной странице. Введя номер страницы, вы должны нажать кнопку ОК, чтобы перейти к ней.



Работать с многостраничным документом следует точно так же, как и с одностраничным. Рисунки, размещаемые на разных страницах, независимы. Если вы поместите рисунок вне границ страницы, он будет виден при редактировании всех страниц, но не войдет в документ при его публикации. Внешними полями можно пользоваться, чтобы перемещать объекты с одной страницы на другую. Вы можете переместить объекты с одной страницы документа на поля, затем перейти к редактированию другой страницы, после чего переместить объекты с полей на рабочее поле. Аналогично можно скопировать объекты на поля, чтобы использовать их на разных страницах. Фактически поля документа могут использоваться как замена буфера обмена Windows, в котором может располагаться множество объектов.

Моделирование сцены в 3DS Max с использованием различных деформаций.

Для смены альбомной ориентации на книжную и наоборот, выберите команду меню Layout/ Switch Page Orientation (Разбивка/ Переключить ориентацию страницы). Более сложные настройки страниц документа выполняются в диалоге, вызываемом командой меню Layouts/Page Setup (Разбивка/ Настройка страницы) .

  1. Выберите в меню Customize (Специальные) команду Units Setup (Единицы измерения) и установите переключатель Metric (Метрические) - метрические единицы измерения.

  2. Раскройте список и выберите там единицу измерения Meters (Метры).

  3. Выберите в меню Customize (Специальные) команду Preferences (Параметры), щелкните на корешке вкладки General (Общие) диалогового окна и задайте количество знаков после запятой в счетчике Spinner Precision Decimals (Точность счетчиков ...разрядов), равной 2.

  4. Выберите в меню Customize (Специальные) команду Grid and Snap Settings (Настройка сетки и привязок).

  5. На вкладке Snaps отметьте флажок Grid Lines (Линии сетки) - привязка к линиям координатной сетки.

  6. Щелкните на корешке Home Grid (Исходная сетка) и проверьте величину шага между вспомогательными линиями в счетчике Grid Spacing(Шаг сетки). По умолчанию она принимается равным 10 текущим единицам измерения.

Создание стен

Сцена, которую вы будете создавать, показана на рис. 1. Она представляет собой интерьер, оборудованный несколькими предметами, каждый из которых, так или иначе, составлен из нескольких геометрических примитивов с помощью команд раздела Compound Objects (Составные объекты) свитка Object Type (Тип объекта).



Рис. 1. Пример для моделирования сцены

Стены в 3D StudioMAX можно создать несколькими способами. Здесь мы применим команду L Extrusion (L-тело экструзии).

  1. Активизируйте окно Perspective (Перспектива) и щелкните на кнопке Min/Max Togget (Развернуть/Восстановить) панели управления окнами проекции.

  2. Окно проекции Perspective (Перспектива) развернется во весь рабочий экран.

  3. Выберите в списке командной панели Create (Создать) вариант Extended Primitives (Улучшенные примитивы) и щелкните на кнопке L-Ext (L-тело экструзии).

  4. Эта кнопка позволяет строить стены в форме буквы L. Вторая подобная команда C-Ext (С-экструзия) позволяет строить стены в виде буквы С.

  5. Установите переключатель свитка Creation Method (Метод создания) в положение Corners (Углы), чтобы построить сечение тела от угла.

  6. Вариант установки переключателя в положение Center (Центр) дает возможность строить сечение от центра.

  7. Щелкните мышкой на рабочем поле экрана и, не отпуская кнопку, перетащите курсор в любом направлении по диагонали.

  8. Создавая стены, следите за изменением величин параметров Side Length (Длина боковой стены), Front Length (Длина фронтальной стены) и Side Width (Толщина боковой стены), Front Width (Толщина фронтальной стены).

  9. Отпустите кнопку мыши, когда создаваемый объект будет построен.

Не сбрасывая выбор объекта, выставьте точные значения длины и толщины стен в соответствующих счетчиках. Теперь созданный объект можно установить в нужное место рабочего экрана, используя инструмент Move (Переместить).
Создание раковины

Создавать раковину будем способом исключения одного стандартного примитива из другого с помощью булевской операции.

  1. Там же, в разделе Extended Primitives (Улучшенные примитивы), нажмите кнопку Oil Tank (Цистерна).

  2. Установите переключатель свитка Creation Method (Метод создания) в положение Edge (От края), чтобы построить сечение цистерны от одного края к другому, растягивая его по диаметру, а в разделе Parameters (Параметры) установите режим Overall (Полная). Растяните основание цистерны на величину радиуса, равную 12, установив это значение в счетчике Radius (Радиус). Можно построить сечение от центра, растягивая радиус. Для этого следует установить переключатель Center (Центр). Режим Overall (Полная) позволяет изменять высоту сферических сегментов при сохранении общей высоты объекта.

  3. После щелчка мышки, фиксирующего высоту объекта, дополнительно переместите курсор вверх, чтобы задать высоту сферических сегментов, лежащих в основаниях цистерны.

Правильно построенная заготовка для раковины должна иметь вид, приведенный на рис. 2.



Рисунок 2. Первая заготовка для раковины

  1. Теперь постройте сферу, выбрав раздел Standard Primitives (Стандартные примитивы) и нажав кнопку Shpere (Сфера). Количество сегментов сферы должно быть не менее 36, иначе внутренние края раковины будут неровными.

Обе заготовки построены. Осталось сконструировать раковину.

  1. Выделите сферу и активизируйте кнопку Align (Выравнивание).

  2. Установите значок курсора на цистерне и щелкните левой кнопкой мышки.

  3. В появившейся панели отметьте Х Position (Положение по X), Y Position (Положение по Y) и выставьте Center (Центр) в разделах Current Object (Текущий объект) и Target Object (Опорный Объект).

  4. Выделите сферу, щелкните на кнопке Move (Переместить) и на кнопке Restrict to Z (Ограничение перемещения по Z) командной панели.

  5. Погрузите сферу в цистерну, как показано на рис. 3. Осталось исключить сферу.



Рисунок 3. Сфера, погруженная в цистерну

  1. Сбросьте выбор, сферы и выберите цистерну с помощью команды выделения объекта.

  2. Выберете в списке командной панели Create (Создать) вариант Compound Objects (Составные объекты) и нажмите кнопку Boolean (Булевские). В нижней части панели появятся несколько свитков параметров: Pick Boolean (Задать операнд), Parameters (Параметры) и Display/ Update (Показать/Обновить).

  3. Установите переключатель свитка Pick Boolean (Задать операнд) в положение Move (Переместить).

  4. В свитке Parameters (Параметры) отметьте переключатель Subtraction (А-В) (Исключение (А-В)).

  5. Щелкните на кнопке Pick Operand В (Указать операнд В) и затем выделите сферу. Сфера будет исключена. Результат работы булевской операции показан на рис. 4.



Рисунок 4. Результат исключения сферы

  1. Переместите раковину к стене в окне Тор (Верх) с помощью команды Move (Переместить).

Создание швабры

Швабра будет составляться из нескольких примитивных геометрических объектов с использованием уже известных вам преобразований и вспомогательных объектов.

  1. Вы уже смоделировали часть сцены и ее следует сохранить. Выберите в меню File (Файл) команду SaveAs (Сохранить как).

  2. В появившемся окне диалога введите имя файла и нажмите кнопку Save(Сохранить). Ваша сцена запишется под указанным именем.

  3. Создайте ручку для швабры, выбрав в списке командной панели Create (Создать) значение Extended Primitives (Улучшенные примитивы), затем нажав кнопку Oil Tank (Цистерна).

  4. Поверните ручку на -20° вокруг оси Y. Для этого щелкните левой кнопкой мышки на кнопке Select and Rotate (Выделить и повернуть) и затем на этой же кнопке щелкните правой кнопкой мышки. Появится диалоговое окно команды поворота.

  5. Щелкните на панели ограничений перемещения кнопку Restrict to Y(Ограничение по оси Y) и введите в диалоговом окне угол поворота по оси Y.

  6. Переместите построенную ручку к стене с помощью действий кнопки Move (Переместить).

Перейдем к построению основы швабры.

  1. В окне Perspective (Перспектива) создайте объекты Capsule (Капсула) и Box (Параллелепипед). Эти заготовки показаны на рис. 5.



Рисунок 5. Капсула и параллелепипед

  1. Выровняйте капсулу по нормали к плоскости параллелепипеда, переключив предварительно видовое окно на Front (Вид спереди). Используйте для этого инструмент Normal Align (Выровнять нормали). Результат выравнивания показан на рис. 6.

  2. Щелкните на кнопке Restrict to Y (Ограничение по оси Y) и погрузите капсулу до середины в параллелепипед, как показано на рис. 7.

  3. Выделите капсулу и нажмите на командной панели Create (Создать) кнопку Geometry (Геометрия), в списке укажите вариант Compound Objects (Составные объекты) и нажмите кнопку Boolean (Булевский).

  4. В свитке Operation (Тип операции) отметьте переключатель Subtraction (А-В) (Исключение (А-В)), нажмите кнопку Pick Operand В (Указать операнд В) и щелкните LM на параллелепипеде.







Рис. 6. Капсула выровнена по нормали к прямоугольнику

Рис. 7. Вид построения в четырех рабочих проекциях

Результат булевской операции исключения показан на рис. 8.



Рисунок 8. Результат вычитания параллелепипеда

Имитация щетины

Для имитации щетины швабры выполните следующие шаги:

  1. Постройте конус, направленный вершиной вниз.

  2. Щелкните LM на кнопке Array (Массив). Для задания параметров массива раскроется окно диалога Array (Массив).

  3. В разделе Array Transformation (Преобразование массива) щелкните на кнопке в строке Move (Переместить), направленной на раздел Totals(Пределы) и задайте значение координаты Y. Конус будет распределен массивом равномерно по оси Y.

  4. Задайте тип дубликатов, помещаемых в массив, поставив переключатель Type of Object (Тип объекта) в положение Instance (Образец). Определите размерность массива, установив переключатель группы Array Dimensions (Размерность массива) в положение ID, и задайте число элементов в счетчике этой строки.

  5. Для имитации щетины достаточно ограничиться двенадцатью элементами.

  6. Установите переключатель в положение 2 D, введите значение 2 в счетчик размерности и задайте отклонения по координатам Х и Y. Проверьте введенные значения и нажмите кнопку ОК. Задан двумерный массив: 2 ряда по 12 элементов. Результат построения приведен на рис. 9, а на рис. 10 — параметры массива в диалоговом окне.

  7. Сгруппируйте созданный массив.

  8. Объедините полученное основание со щетиной, используя способ выравнивания по нормали. Результат объединения показан на рис. 11.



Рис. 9. Массив из конусов



Рис. 10. Диалоговое окно Array с параметрами массива

  1. Отмасштабируйте, если в этом есть необходимость, скомпонованный объект и объедините его с ручкой, используя инструменты перемещения и выравнивания. Готовый для использования в интерьере объект показан на рис. 4.12.

  2. Сохраните созданный объект. С этой целью выберите в меню File(Файл) команду Save As (Сохранить как).

  3. В появившемся диалоговом окне задайте имя для сохраняемого файла и нажмите кнопку Save (Сохранить).





Рис. 11. Готовое основание швабры




Конструирование вешалки

Вешалку будем строить, используя стандартную геометрию и команду Scatter (Распределенные), позволяющую распределять дубликаты одного объекта по поверхности другого.

  1. Построим подставку вешалки. На командной панели Create (Создать) нажмите кнопку Geometry (Геометрия), в списке укажите вариант Standard Primitives (Стандартные примитивы), а затем нажмите кнопку Cone (Конус) и постройте усеченный конус.

  2. Раскройте панель масштабирования, выберите кнопку Select and Squash (Выделить и сжать) и сожмите конус.

Результат трансформации конуса показан на рис. 12.



Рисунок 12. Подставка для вешалки

  1. Там же, в разделе стандартных примитивов, нажмите кнопку Cylinder (Цилиндр) и постройте основание вешалки.

  2. Если основание вешалки осталось выделенным, то на панели инструментов активизируйте кнопку Align (Выровнять) и выделите появившимся курсором подставку вешалки.

  3. В появившемся диалоговом окне отметьте координаты Х и Y в группе Align Position (Выравнивание положения) и Center (Центр) в группах Current Object (Текущий объект) и Target Object (Опорный объект).

Основание вешалки совместится с центром подставки (рис. 13).



Рисунок 13. Основа вешалки, выровненная относительно подставки

  1. Постройте еще один цилиндр и оставьте его выделенным.

Замечание

Напомним, что пока объект остается выделенным, его параметры можно менять с помощью счетчиков в свитке параметров.


  1. На командной панели Create (Создать) в списке Object Type (Тип объекта) выберите вариант Compound Objects (Составные объекты) и нажмите кнопку Scatter (Распределенный).

Эта кнопка позволяет распределять дубликаты одного объекта по поверхности другого. Она может использоваться для имитации травы, листьев на дереве и т. д. Распределяемый объект носит название объекта-источника, а объект, на котором распределяются дубликаты — объекта базы. Распределение дубликатов происходит произвольным образом с помощью генератора случайных чисел. Поменять расположение дубликатов можно, изменив числовое значение счетчика, инициирующее работу генератора случайных чисел.

  1. В свитке Pick Distribution Object (Задание базы распределения) отметьте режим Move (Переместить). При этом режиме объект-база при назначении базы распределения будет перемещен в составной объект.

  2. Щелкните на кнопке Pick Distribution Object (Указать базу распределения) и выделите цилиндр - основу вешалки. Цилиндр переместится и окажется прикрепленным к цилиндру - основе вешалки (рис. 14).



Рисунок 14. Цилиндр прикрепился к основе вешалки

  1. В счетчик Duplicates (Дубликаты) введите число 6. Значение счетчика определяет число распределяемых объектов. Этот параметр игнорируется, если дубликаты объекта-источника распределяются по центрам граней или вершинам поверхности объекта-базы. Указанные режимы будут рассмотрены ниже.

  2. В разделе Distribution Object Parameters (Параметры объекта-базы) отметьте флажок Perpendicular (Перпендикулярно).

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

  1. Задайте вариант распределения дубликатов по поверхности объекта базы, отметив переключатель Area (По площади) в разделе Distribute Using (Распределять).

Произошло равномерное случайное распределение дубликатов по поверхности базы. Остальные варианты этого раздела означают следующее:

    • Even (Равномерно) - число граней объекта делится на количество дубликатов;

    • Skip N (Пропуская N граней) - при распределении дубликатов будет пропускаться N граней объекта-базы;

    • Random Faces (Случайные грани) - дубликаты распределяются случайным образом;

    • Along Edges (Вдоль ребер) - дубликаты случайным образом распределяются вдоль ребер объекта-базы;

    • All Vertices (По всем вершинам) - дубликаты помещаются в каждую вершину объекта-базы, при этом заданное число дубликатов игнорируется;

    • All Edge Midpoints (По серединам всех ребер) - дубликаты помещаются в середины каждого ребра объекта-базы;

    • All Face Centers (По центрам всех граней) - дубликаты помещаются в центры каждой грани объекта - базы.

  1. В свитке Display (Отражение) отметьте переключатель Mesh (Сетка). Этот вариант дает точное отображение дубликата. Если используется большое количество дубликатов, то удобнее выбрать вариант Proxy(Приближенное). В целях ускоренной прорисовки в этом варианте будут выдаваться приближенные макеты дубликатов.

  2. В счетчике Display (Показывать) устанавливается доля общего количества дубликатов, которое будет отображаться в окне проекции. Попытайтесь, изменяя значения этого счетчика, визуально по рисунку выбрать подходящий вариант.
Замечание
Если выбранный вариант построения не устраивает, и вы хотите вернуться к предыдущему, то для отмены последней команды щелкните на кнопке Undo (Отменить) панели инструментов. Вторая кнопка в этой группе Redo (Повторить) повторит отмененную команду.

  1. В счетчике Seed (Номер) измените число, инициирующее работу генератора случайных чисел, и проследите за изменением объекта. Мы решили остановиться на варианте, показанном на рис. 15.

  2. Сохраните построенный объект.



Рисунок 15. Вариант распределения дубликатов по цилиндру основания вешалки.

Создание ведра

Ведро строится по той же схеме, что и раковина.

  1. Постройте усеченных конус и сделайте его копию.

  2. С помощью инструмента выравнивания поместите один конус в другой, как показано на рис. 16.



Рисунок 16. Заготовка построения ведра

  1. С помощью булевской операции исключите внутренний цилиндр из внешнего (рис. 17).

  2. Сохраните созданный объект на диске.

  3. Расставьте созданные объекты в интерьере и сохраните полученную сцену.



Рисунок 17. Результат булевского исключения одного цилиндра из другого

Написать программу на языке Pascal, которая изображает на экране дисплея график функции (A принимает значения: –1, 0.5, 1, 1.5; x:=[1, 7]).

program _1;

uses Graph;

const

af: array[1..7] of real=(-1, 0.5, 1, 1.5);

var

Xc, Yc, MaxX, MaxY, i,

driver, regim: integer;

w: string;

function Yx(a,x:real): real;

begin

Yx:=a*exp(sqr(x));

end

begin

driver :=vga; regim:=vgahi;

inigraph(driver, regim, ‘’);

setcolor(15); SetBKColor(0);

maxx:=getmaxx; maxy:=getmaxy;

xc:=maxx div 2; yc:=maxy div 2;

settextstyle(0, 0, 1); settextjustify(0; 0);

line(0, yc, max, yc);

line(maxx, yc, maxx-5, yc-3);

line(maxx, yc, maxx-5, yc+3);

outtextxy(maxx-15, yc+10, ‘x’);

line(xc, 0, xc, maxy);

line(xc, 0, xc-5, 5);

line (xc, 0, xc+5, 5);

outtextxy(xc+10, 15, ‘y’);

outtextxy(xc+10, yc+15, ‘0’);

a:=1; b:=7;

mx:=(xc-40)/b;

my:=(yc-20)/yx(af[4], a);

for i:=1 to 4 do

begin

x:=a; h:=0.01;

while x<=b do

begin

y:=yx(af[i], x);

putpixel(xc+round(x*mx), yc round(y*my), 15);

x:=x+h;

end;

str(af[i]:3:1,w);

outtextxy(xc+round(x*mx), yc-round(y*my), w);

end;

readIn;

closegraph;

end.



страница 1


скачать

Другие похожие работы:


Графические языки

Программа: 1 стр.