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

Учащимся

Учителям



Контрольная работа №1 по дисциплине "Компьютерная геометрия и графика"



ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

(ГОУВПО ВГТУ)
Факультет вечернего и заочного обучения

Кафедра компьютерных интеллектуальных технологий проектирования


КОНТРОЛЬНАЯ РАБОТА № 1
по дисциплине “Компьютерная геометрия и графика”.
Выполнил (а) студент (ка) ___________________________________________________

Группа Подпись, инициалы, фамилия

дата
Руководитель________________________________________________________________

Подпись, инициалы, фамилия

дат

Защищен _________________ Оценка___________________

дата
Воронеж, 2010.

Содержание


Содержание 2

I.Теоретическая часть 3

II.Практическая часть 13

III.Список используемой литературы: 51

Лист регистрации замечаний. 52

  1. Теоретическая часть


  1. Виртуальная реальность.


Виртуа́льная реа́льность (от лат. virtus — потенциальный, возможный и лат. realis — действительный, существующий) — создаваемый техническими средствами мир и передаваемый человеку через его привычные для восприятия материального мира ощущения: зрение, слух, обоняние и другие. Обычно имеется реалистичная реакция на действия пользователя. Синонимы: искусственная реальность, электронная реальность, компьютерная модель реальности. Близкие по смыслу термины: потенциальная реальность, возможные миры.

Не следует путать виртуальную реальность с дополненной. Их коренное различие в том, что виртуальная конструирует новый искусственный мир, а дополненная лишь вносит отдельные искусственные элементы в восприятие мира реального.

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

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


  1. Элементы моделей. Методы построения моделей.


Модель - объект произвольной природы, который отражает главные, с точки зрения решаемой задачи, свойства объекта моделирования.

Моделирование - Исследование объектов познания на их моделях; построение и изучение моделей реально существующих предметов, процессов или явлений с целью получения объяснений этих явлений, а также для предсказания явлений, интересующих исследователя.

Моделирование - создание, применение, использование модели.

Главные функции модели - упрощение получения информации о свойствах объекта; передача информации и знаний; управление и оптимизация объектами и процессами; прогнозирование; диагностика.

Процесс моделирования включает три элемента:

  • субъект (исследователь),

  • объект исследования,

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

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

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

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

Четвертый этап — практическая проверка получаемых с помощью моделей знаний и их использование для построения обобщающей теории объекта, его преобразования или управления им.

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


  1. Протоколы печатающих устройств.

Протоколы печати относятся к высшему уровню модели взаимодействия открытых систем — прикладному (OSI Layer 7 или просто L7). При печати в Windows, протоколы могут представляться в виде провайдеров удалённой печати, когда речь идёт об отправке заданий на настоящий компьютерный сервер печати, и в виде мониторов удалённых портов, когда задания обрабатываются на клиентском компьютере и отправляются на принтер, оснащённый сетевым адаптером.

  • Microsoft Network Printing

Псевдонимы: Lanman Printing (сокр. от LAN Manager), SMB Printing.

Общие сведения: Стандартный провайдер удалённой печати для Windows, основанный на универсальных протоколах SMB и RPC. Поддерживаются все возможности семейства операционных систем Windows, включая обзор и поиск сетевых принтеров, автоматическую установку драйверов, контроль доступа и учёт использования. Причём от обычных пользователей не требуется никаких специальных знаний — настолько всё интуитивно понятно.

Установка: Клиент печати устанавливается в Windows по умолчанию. В роли сервера печати может выступать любой компьютер, когда в свойствах сетевого интерфейса установлена привязка Службы доступа к файлам и принтерам сетей Microsoft. При этом сетевыми становятся все принтеры, в свойствах которых на вкладке Доступ включён режим общего доступа и задано сетевое имя.

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

Транспортный порт: 139/tcp (тот же, что и для SMB).

Спецификация: Желающие познакомиться с этим протоколом поближе, могут обратиться на сайт Microsoft.

Аналог SMB Printing для серверов Unix называется Samba Printing.

  • Novell Printing

Псевдонимы: NetWare Printing, NCP Printing.

Общие сведения: Является для сетевой среды Novell NetWare тем же, чем Lanman Printing для среды Microsoft. Название NCP Printing, как и SMB Printing, происходит от используемого универсального протокола доступа к файлам, принтерам и другим объектам.

Особенности: Сервер печати периодически опрашивает указанный ему файловый сервер о новых заданиях, что похоже на POP3-печать.

Установка: Провайдер удалённой печати устанавливается дополнительно через свойства сетевого адаптера: называется там Клиентом для сетей NetWare.

  • AppleTalk Printing

Псевдонимы: ATPS (AppleTalk Printing Services), PAP Printing.

Общие сведения: А это, соответственно, стандартная система печати для платформы Macintosh на базе протокола доступа к принтерам (PAP). Несмотря на кажущуюся невостребованность Apple и Novell, поддержка этих технологий в принт-серверах встречается гораздо чаще, чем более современные и универсальные протоколы.

LPR (Line Printer Requestor или Line Printer Resource)

Псевдонимы: LPD (Line Printer Daemon).

Общие сведения: Стандарт де-факто для UNIX-систем, предоставляющий базовые возможности печати. В отличие от Windows-печати, оперирует не принтерами, а очередями; в простейшем случае очередь отождествляется с именем порта принтера: например, очередь lpt2 будет обозначать принтер, подключённый к порту LPT2 на сервере печати.

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

Транспортный порт: 515/tcp.

Установка: Стандартный монитор сетевых портов Windows 2000 и более новых версий, который устанавливается по умолчанию, поддерживает LPR; программное обеспечение для Windows 9x обычно поставляется вместе с принт-сервером. Чтобы превратить ваш компьютер в LPR-сервер, следует добавить Службу печати UNIX через конфигуратор системных компонентов (Установка и удаление программ).

Особенности: В диалоге настройки этого монитора, расслабляющего своей простотой, есть опция Разрешён подсчёт байт в LPR — очевидно, что она позволяет вычислить размер задания до отправки на принт-сервер, но пользоваться ей без необходимости не стоит, так как для подсчёта требуется повторное прохождение нескольких стадий обработки. (Вообще-то в справке это сказано прямым текстом, но кто ж её читает, правда?)

Спецификация: RFC 1179.

  • Raw Printing

Псевдонимы: Port Printing, Port 9100, PDL data-stream.

Общие сведения: Данные из сетевого пакета (точнее выражаясь, транспортного сегмента) напрямую поступают на принтер. Очевидно, что простора для фантазии (то есть для управления печатью) в рамках самого протокола не предусмотрено никакого, и что одновременная работа одного клиента с несколькими принтерами невозможна даже чисто теоретически. Поэтому для каждого принтера выделяется отдельный транспортный порт: например, 9100/tcp соответствует первому принтеру на сервере печати, 9101 — второму, и т. д.

Установка: Стандартный монитор сетевых портов также поддерживает и протокол Raw.

  • IPP (Internet Printing Protocol)

Псевдонимы: HTTP Printing.

Общие сведения: Является перегруженной версией HTTP, то есть придаёт всем известному протоколу передачи гипертекста новое значение. Помимо расширенных функций управления печатью, поддерживает контроль доступа, аутентификацию и шифрование (SSL). Типичный адрес принтера указывается так: http://server:631/printers/myprinter.

Установка: Клиентскую работу с IPP обеспечивает стандартный монитор сетевых портов. Создать IPP-сервер можно с помощью веб-сервера Microsoft — программы Internet Information Services.

Особенности: На корневой странице (http://server:631/) может находиться веб-интерфейс управления, а также ссылки на область загрузки драйверов.

Транспортный порт: 631/tcp. Вместо этого порта часто используется стандартный для HTTP порт 80. Для шифрованного трафика применяется либо стандартный для HTTP over SSL порт 443, либо тот же 631.

Спецификация: RFC 2565–2568.

  • CUPS (Common UNIX Printing System)

Общие сведения: Система печати UNIX на базе IPP, обеспечивающая ограниченную поддержку SMB.

  • DLC Printing (Data Link Control)

Общие сведения: Название происходит от функции канального уровня, отвечающей за передачу информации между машинами локальной сети, потому что при использовании этого протокола взаимодействие с принт-сервером происходит напрямую, без участия протоколов более высокого уровня, например, TCP/IP. Соответственно, область действия DLC ограничивается единственным доменом локальной сети — сравните с IPP, который позволяет передавать задания через всю Глобальную сеть, и вы поймёте, почему поддержка DLC в Windows XP уже не предусмотрена.

  • PRTmate

Псевдонимы: Print-Mate («помощник в вопросах печати»).

Общие сведения: Используется во многих сетевых комбайнах как единственный доступный вариант. Исходя из того, что веб-интерфейс этих комбайнов не имеет настроек печати, можно сделать вывод о схожести с протоколом Raw. В отличие от последнего, поддерживается выбор принтера на стороне клиента, однако изученные автором реализации позволяют иметь в системе только один сетевой порт типа PRTmate, то есть для каждой смены сервера печати или подключённого к нему принтера необходимо заходить в свойства этого порта.

Установка: Для добавления в систему монитора порта требуется дополнительное программное обеспечение от производителя сетевого комбайна.

Транспортный порт: 515/tcp (несмотря на столь большую разницу с LPR, порт тот же).

  • FTP Printing (File Transfer Protocol)

Общие сведения: Всем известный протокол передачи файлов FTP с успехом адаптируется для нужд печати: каждый принтер, подключённый к серверу, представляется отдельным каталогом, либо существует только корневой каталог, если у сервера всего один порт для принтера.

Установка: Отправка заданий выглядит как обычное закачивание файла, например, с помощью стандартного FTP-клиента, встроенного в Проводник, или консольной программы ftp.exe, поэтому дополнительных драйверов не нужно. (Разумеется, закачиваемые файлы должны быть не в формате Word, а на языке принтера, то есть полученные с помощью перенаправления печати в файл.) Если в системе установлены дополнительные программы, позволяющие работать с FTP как с обычным диском, печатать можно в один заход, указывая в качестве выходного файла что-нибудь вроде ftp://server/port/myfile.

Транспортный порт: 21/tcp. Основная часть трафика проходит по вспомогательному соединению (обычно на порт 20/tcp). Классическая реализация FTP, описанная в документе RFC 959, предполагает, что сервер устанавливает вспомогательное соединение к клиенту, а не наоборот, но такая модель взаимодействия нежелательна с точки зрения сетевой безопасности клиента. Поэтому позже протокол был расширен (RFC 1579), позволяя серверу оставаться в пассивном режиме, то есть только обслуживать входящие запросы клиентов, но не активно вызывать клиентов на связь. Несмотря на то, что этому усовершенствованию уже много лет, поддержка пассивного режима до сих пор не является обязательной ни для клиентов, ни для серверов, а поддерживать активный режим до сих пор не является обязательным для брандмауэров.

  • SMTP Printing (Simple Mail Transfer Protocol), POP3 Printing (Post-Office Protocol v. 3)

Псевдонимы: Mail Printing (некорректный термин, потому что обобщает принципиально разные протоколы).

Основные сведения: Смысл тот же, что и в случае с FTP, только здесь обмен не файлами, а почтовыми сообщениями с вложением файлов. В режиме SMTP сервер печати выглядит как почтовый сервер, принимая подключения и извлекая все файлы из сообщений, чтобы отправить их на принтер. Выбор принтера происходит по имени почтового ящика адресата: например, lpt2@server. В режиме POP3 сервер печати выглядит как почтовый клиент, периодически опрашивая заданный почтовый сервер о наличии новых сообщений, и вы отправляете задания именно на почтовый сервер, но не на сервер печати.

Особенности: Слабым местом SMTP является отсутствие аутентификации в его первой версии (RFC 821). В последствии были предложены механизмы аутентификации самой разной степени сложности, но когда речь идёт о простейших реализациях в принт-серверах, её там либо вообще нет, либо она ограничена передачей реквизитов в открытом виде. POP3 является клиентским протоколом, поэтому его эволюция протекала мирно, накопив к третей версии (RFC 1939) вполне солидный багаж функций. Однако и тут не всё гладко: чем меньше период опроса POP3-сервера, тем больше нагрузка на него; чем период больше, тем больше задержка перед началом печати.

Транспортный порт: 25/tcp (SMTP), 110/tcp (исходящее подключение к POP3-серверу).

  • Прочие протоколы

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

  1. Практическая часть


  1. Редактирование сетчатых оболочек в 3DS Max.

Для редактирования сетчатых оболочек таких объектов, как геометрические примитивы, их необходимо преобразовать к типу Editable Mesh (Редактируемая сеть).

Преобразование сетчатых оболочек в редактируемую сеть

Очищаем экран от лишних объектов, выбрав в меню Edit (Редактировать) команду Select All (Выделить все) и нажав клавишу .

На командной панели Create (Создать) Нажимаем кнопку Geometry (Геометрия), в списке выбераем вариант Standard Primitives (Стандартные примитивы), жмем кнопку Sphere (Сфера) и строим в окне Perspective (Перспектива) сферу. Там же строим конус.

Оставив объекты выделенными, перейдем на командную панель Modify (Изменить). Щелкнем ЛКМ на кнопке ConHgure Buttons Sets(Конфигурирование наборов кнопок) и выберем в появившемся свитке команду преобразования Mesh Editing (Редактируемая сеть).

В списке модификаторов выбираем кнопку Edite Mesh (Редактирование сети).

Объекты теперь будет рассматриваться программой как редактируемая сеть.


Пример использования редактора вершин:

Создадим из сферы голову медведя, используя только возможности редактирования вершин сети.

Для начала очистим рабочий экран, выбрав в меню Edit (Редактировать) команду Select All (Выделить все) и нажав клавишу .

Делаем окно проекции Perspective (Перспектива) активным и развернем его во весь экран, щелкнув LM на кнопке Min/ Max Toggle(Развернуть/Восстановить) панели управления окном проекции.

Жмем на командной панели Create (Создать) кнопку Geometry (Геометрия), в списке выберите вариант Standard Primitives (Стандартные примитивы) и выбираем кнопку Sphere (Сфера).

Для более точного моделирования в свитке Parameters -(Параметры) увеличиваем значение Segments (Сегменты) до 56.

Строим сферу.

Переходим на командную панель Modify (Изменить), щелкаем ЛКМ на кнопке Edit Mesh (Редактирование сети) и в свитке Selection (Выбор) выберем пиктограмму "вершины".

Сфера преобразована в объект типа "редактируемая сеть".

Все вершины сферы обозначались крестиками. Объект готов для редактирования на уровне вершин.

Пример преобразования сферы с помощью редактора вершин:



  1. Изучение программы Adobe Photoshop (фотомонтаж с применением работы с быстрой маской).




Открываем документ

Включаем режим быстрой маски (Quick Mask Mode). Это делается нажатием пиктограммы в палитре инструментов или нажатием клавиши Q.
После переключения можно начать рисовать маску. Выбираем кисть и вернитесь к стандартным цветам по умолчанию (черному и белому), нажав клавишу D. Маска наносится черным цветом, а убирается соответственно белым.

Выбираем кисть с мягкими краями и аккуратно закрашиваем фигуру. Несмотря на то, что основным цветом выбран чёрный, кисть рисует красным полупрозрачным цветом. Именно это и показывает, что Вы не просто что-то рисуете, а создаете маску. Представьте себе, что Вы рисуете на новом пустом слое. Это временный слой, увидеть который можно в палитре Channels (каналы). В режиме быстрой маски образуется временный канал, который именно так и называется - Quick Mask. Поэтому при создании маски, Мы не влияем на изображение. Маска - это всего лишь непривычное для нас представление выделения. В процессе правки рамки выделения само изображение измениться не может.

После заливки картинка должна иметь следующий вид: Перейдём в стандартный режим выделения, нажав клавишу Q или соответствующую кнопку на палитре инструментов. Маска сразу преобразуется в выделение.


  1. Изучение программы CorelDraw (создание изображений с помощью кривых).

Произвольные кривые

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

Узлы кривой

Как мы уже видели, каждый выбранный объект приобретает восемь маркеров выделения. Эти черные квадраты по углам и сторонам выбранного объекта позволяют изменять размер всего объекта. В CorelDRAW также имеется возможность редактировать объект на микроуровне. Это можно делать с помощью контрольных точек, называемых узлами. Узлы позволяют редактировать контур выбранного объекта с огромной степенью детализации.

Некоторые возможности редактирования объекта; например округление углов прямоугольника, изменение очертаний произвольных фигур и весьма сложные преобразования многоугольников, предоставляет инструмент Pick (Указатель). Более сложное узловое редактирование выполняется инструментом Shape (Фигура) (см. также раздел "Редактирование фигур и кривых").
Преобразование многоугольника инструментом Pick (Указатель)

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

При рисовании фигуры или линии CorelDRAW автоматически генерирует узлы и кривые, которые вместе составляют данный объект. Если отрезок линии можно описать математически, формируется кривая линия; если нет – организуется излом с узлом.

Если щелкнуть на объекте правой кнопкой мыши и в контекстном меню выбрать Properties (Свойства), открывается окно свойств объекта. Здесь на вкладке Curve (Кривая) сообщается, сколько узлов имеется в контуре, закрыта ли кривая и так далее.

Первый шаг в редактировании узла -- выбрать его щелкнув на узле инструментом Pick (Указатель). После этого узел можно переносить мышью (при этом могут радикально изменяться очертания объекта), удалять, добавлять.

Чтобы добавить или удалить узел, нужно щелкнуть на узле правой кнопкой мыши инструментом Pick (Указатель) и в контекстном меню выбрать Add (Добавить узел) или Delete (Сброс) При удалении узла два соседних узла соединяются линией, генерируемой по законам интерполяции.

Кривые Безье. Создание кривых Безье

При рисовании сегментных ломаных линий и контуров щелчками мыши инструмент Безье практически не отличается от инструмента Freehand (Кривая). Bce eго мощные возможности раскрываются лишь при создании кривых линий. Здесь ему нет равных, важно только усвоить несложные приемы работы с ним (хотя вначале действие инструмента может показаться совершенно непонятным и непредсказуемым).

Общее правило: Кривые Безье создаются при нажатой кнопке мыши, иначе получаются обычные произвольные ломаные линии.

Шаги создания кривой Безье; 1-й случай:

  1. В наборе инструментов (на всплывающей панели свободного рисования) выбрать инструмент Кривая Безье.

  2. Щелкнуть инструментом где-либо на полотне и, не отпуская мыши, слегка протянуть курсор в каком-либо направлении. При этом в обе стороны от точки щелчка растягивается синяя штриховая линия с узлами (направляющими точками) по концам. Эта линия определяет касательную к одному из концов кривой Безье, причем, несмотря на симметрию здесь имеет значение длина касательной и куда двигался курсор мыши (дальше станет понятней). Отпустить курсор.

  3. Щелкнуть где-либо в другом месте полотна. Инициирующая точка симметрии узлов касательной (точка симметрии узлов касательной, точка первого щелчка) и точка второго щелчка соединяются некой кривой, выходящей из инициирующей точки по касательной. Направление выхода кривой и ее кривизна (величина отклонения от прямой линии, соединяющей вершины), определяется углом, длиной касательной и направлением движения курсора в п. 2

  4. После этого можно выбрать инструмент Shape (Фигура) и как угодно поиздеваться над созданной кривой Безье, перемещая ее саму и ее узлы инструментом. При редактировании возможны самые удивительные превращения: кривая Безье ведет себя подобно жесткой проволоке, шарнирно закрепленной на нескольких точках.


Шаги создания кривой Безье; 2-й случай -- экономим один-два шага:

1. В наборе инструментов (на всплывающей панели свободного рисования) выбрать инструмент Кривая Безье.

2. Щелкнуть инструментом где либо на полотне и, не отпуская мыши, слегка протянуть курсор в каком либо направлении. Отпустить курсор.

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

4. Протянуть курсор в каком-либо направлении. При этом в обе стороны от точки щелчка растягивается синяя линия касательной ко второму концу кривой. При перемещении курсора по полотну (и, соответственно, изменении направления касательной) линия кривой Безье изгибается, придерживаясь второй касательной. Здесь экономятся шаги сразу достигается эффект работы с кривой инструментом Shape (Фигура), но без смены инструмента.

5. Отпустить кнопку мыши Контур из кривых готов к продолжению. Переходим к шагу 3 и так далее.

Возможные применения инструмента Безье

Очень часто кривые Безье используются в качестве направляющих линий для фигурного текста. В этом случае рисуется текст и кривая, текст привязывается к кривой (об этом см. в разделе "Работа с текстом") и затем кривая удаляется.

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

Редактирование фигур и кривых

Мы уже знаем, что размер и позицию фигур можно изменять, используя маркеры выделения. Некоторые простые преобразования фигур с помощью перемещения их узлов рассматриваются в разделах "Вращение, искажение и другие преобразования объектов" и "Правка узлов кривой". Редактировать фигуры можно также, применяя инструменты Knife (Нож) и Erase (Ластик) для разделения контура на несколько частей. Однако намного большую свободу в манипулировании фигура ми можно получить, преобразуя их в разные типы кривых.
Инструменты Knife (Нож), Erase (Ластик) и Free Transform (Свободное преобразование)

Основное назначение инструмента Knife (Нож) вытекает из его названия нож обычно разрезает что либо на две части Нож CorelDRAW также создает из одной фигуры два независимых объекта.

Для разрезания фигуры нужно проделать следующее:

    1. Из всплывающей панели инструмента Shape (Фигура) выбрать инструмент Knife (Нож).

    2. Щелкнуть в точке контура фигуры, которую требуется разрезать.

    3. Щелкнуть вторую точку контура, обозначив разрез.

    4. После разреза использовать инструмент Pick (Указатель) для выбора любой из двух новых фигур Эти объекты можно перемещать либо удалить один из них.

При выборе инструмента Knife (Нож) в панели свойств инструмента появляется кнопка Auto Close on Cut (Автозамыкание при отрезании). Именно нажатое состояние этой кнопки позволяет разрезать фигуры, соединяя точки реза прямыми. Если кнопку отжать, при разрезании вместо новых законченных фигур создаются незакрытые кривые линии. С узлами этих фигур можно продолжать работать.

Инструмент Eraser (Ластик) также находится на всплывающей панели Shape (Фигура) и работает подобно карандашной резинке. Этим инструментом можно стереть любые пиксели внутри объекта или контура (Для удаления мелких деталей, возможно, придется увеличить масштаб изображения). Панель свойств Ластика содержит кольцевой список, позволяющий изменить ширину стирания

Для стирания участков объекта нужно выбрать инструмент Eraser (Ластик) и щелкать или тянуть курсор по местам, подлежащим удалению. В замкнутом объекте Ластик будет выгрызать дырки, а в незамкнутом -- делать разрывы. Восстановить случайно удаленные элементы можно, щелкнув кнопку Undo (Отмена) в стандартной панели инструментов или выбрав команду отмены операции в меню Edit (Правка).

Четвертый инструмент на всплывающей панели Shape (Фигура) -- Free Transform (Свободное преобразование) Этим инструментом (который появился в CorelDRAW 8) можно вращать выбранные объекты Инструмент работает подобно маркерам вращения при выделении объекта двумя щелчками (не двойным щелчком). Однако Free Transform позволяет, щелкнув на любом узле или точке на полотне, назначать центр вращения объекта.

Для вращения объекта нужно:

1. Выбрать инструмент Free Transform (Свободное преобразование) Курсор превращается в перекрестие.

2. Если объект не был до этого выбран -- щелкнуть курсором объект. Если объект был выбран, этот шаг пропустить.

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

Преобразование фигур в кривые

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

При выборе узла фигуры инструментом Shape (Фигура) на панели свойств появляется кнопка То Curve. Щелчком на этой кнопке можно трансформировать фигуру в кривую линию. Эта операция применяется для "разузлования" фигуры, то есть для ослабления взаимного влияния узлов, придания им относительной автономности. Преобразование фигуры в кривые позволяет редактировать состояние отдельного узла, воздействуя только на этот узел.

Преобразовать все узлы фигуры в кривую можно также, выбрав фигуру инструментом Pick (Указатель) и затем в меню Arrange (Упорядочить) выбрав команду Convert to Curves (Преобразовать в кривые), либо нажав на панели свойств кнопку Convert to Curves (Преобразовать в кривые).

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

Прежде, чем можно будет редактировать кривую, нужно выбрать ее узлы. Это делается щелчками на отдельных узлах инструментом Shape (Фигура). Если удерживать клавишу , можно выбрать одновременно более одного узла.

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

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

  1. Моделирование сцены в 3DS Max с помощью деформации моделей, построенных методом лофтинга


Подготовка к моделированию

  1. Перезагрузите 3d studio max, выберите в качестве единиц измерения сантиметры и установите шаг сетки равным 1 см. (рис1).



Рисунок 1. Выбор шаг сетки и единицы измерения.

Объект сцены № 1 - создание столовой вилки.

  1. Установите в окне проекции Тор (Вид сверху) масштаб, при котором вертикальный размер видимой части сетки в окне проекции составляет примерно 5 см.

  2. Нарисуйте стандартный сплайн Rectangle (Прямоугольник) с размерами: Length (Длина) = 4 см, Width (Ширина) = 0,5 см, скруглив углы радиусом 0,3 см (рис 2). Это будет сечение тела лофтинга. Затем разверните окно проекции во весь экран, установите такой масштаб, чтобы размер горизонтальной части сетки составлял примерно 40 см, и нарисуйте кривую-путь, как показано на рис. 3.

 

Рисунок 2. Создание стандартного сплайна Rectangle (Прямоугольник).



Рисунок 3. Кривая, которая будет играть роль пути для тела лофтинга.


3. Щелкните на кнопке Geometry (Геометрия) командной панели Create (Создать), выберите в раскрывающемся списке разновидностей объектов вариант Соmроund Objects (Составные объекты) и щелкните на кнопке Loft (Лофтинговые) в свитке Object Type (Тип объекта). Убедившись, что форма- путь все еще выделена, щелкните на кнопке Get Shape (Взять форму) в свитке Creation Method (Метод создания). Перейдите в любое окно проекции и щелкните на прямоугольнике со скругленными углами. Будет сформировано базовое тело лофтинга, показанное на рис. 4. Назовите созданный объект Вилка.



Рисунок 4. Сформировано базовое тело лофтинга.


4. Чтобы придать полученному объекту сходство с вилкой, примените к нему деформацию масштаба. Проследив, чтобы объект лофтинга был выделен, перейдите на командную панель Modify (Изменить), разверните свиток Deformations (Деформации) и щелкните на кнопке Scale (Масштаб). Появится окно диалога Scale Deformation (Деформация масштаба).

5. Щелкните на кнопке Make Symmetrical (Симметрично по X и Y), чтобы выключить ее и сделать возможным использование различных кривых деформации в продольных сечениях объекта но осям X и Y локальных координат сечений, ориентированным перпендикулярно линии пути.

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

Для наглядности лучше начать деформацию с изменения ширины тела лофтинга, поэтому щелкните в окне диаграммы деформации на кнопке Display Y Axis (Показать деформацию по Y). Появится линия диаграммы зеленого цвета. Так как кнопка Move Control Point (Переместить управляющую точку) выбрана по умолчанию, просто щелкните на левом маркере диаграммы деформации и переместите , следя за координатами маркера в полях отсчета в середине нижней части окна диалога. Переместить маркер можно и проще: щелкните на маркере, введите новые значения его координат непосредственно в поля отсчета и нажмите клавишу Enter или Tab.

6. Щелкните на кнопке Insert Corner Point (Вставить угловую точку) и выберите на панели инструмента кнопку Insert Bezier Point (Вставить точку Безье). Щелкните на кривой деформации, поместив на ней новую вершину, и введите в поля отсчета координаты этой вершины . Продолжайте щелкать на кривой и установите следующие координаты новых управляющих точек, как показано на рисунке. Настройте положения маркеров касательных векторов управляющих точек, чтобы придать кривой деформации вид, показанный на рис. 5. При этом вид сверху на тело лофтинга изменится, повторяя контуры кривой деформации по оси Y, то есть по ширине объекта.



Рисунок 5. Вид кривой деформации по оси Y.

7. Теперь настройте деформацию по оси X, или по толщине тела (рис. 6). Щелкните в окне диаграммы деформации на кнопке Display X Axis (Показать деформацию по Х). Появится линия диаграммы красного цвета. Переместите маркер первой управляющей точки в положение (0; 25). Далее выберите кнопку Insert Bezier Point (Вставить точку Безье) и добавьте на линию диаграммы четыре новые вершины Безье, задав для них координаты, следя за изменением формы вилки.



Рисунок 6. Вид кривой деформации по оси X.

8. Закончив настройку деформации, закройте окно диалога Scale Deformation (Деформация масштаба). Окончательный вид деформированной вилки, пока еще не имеющей зубьев, показан на рис. 7.



Рисунок 7. Окончательный вид тела лофтинга после деформации по осям ширины и толщины.


«Нарезание зубьев» на вилке

1. Активизируйте окно проекции Front (Вид спереди), увеличьте изображение, как показано на рис. 8, и создайте усовершенствованный примитив ChamferBox (Параллелепипед с фаской). Этот параллелепипед и два его образца мы вычтем из заготовки, образовав промежутки между зубьями вилки.



Рисунок 8. Параллелепипед с фаской будет играть роль штампа при «нарезке» зубьев вилки.

2. Чтобы зубья имели клиновидную форму, сузьте параллелепипед на одном из концов, применив к нему еще не использовавшийся нами модификатор заострения. Для этого при выделенном параллелепипеде щелкните на кнопке Taper (Заострение) в свитке Modifiers (Модификаторы) командной панели Modify (Изменить). Параллелепипед будет заключен в габаритный контейнер модификатора коричневого цвета. Обратите внимание, что центральная точка модификатора, обозначенная коричневым крестом, находится не в его геометрическом центре, так как совмещена с
опорной точкой параллелепипеда, расположенной в середине его основания. Это отчетливо видно в окне проекции Тор (Вид сверху). При таком расположении центра заострение на виде сверху не будет симметричным. Чтобы переместить центр модификатора, щелкните на кнопке Sub-Object (Подобъект) в свитке Modifier Stack (Стек модификаторов) и выберите в раскрывающемся списке Selection Level (Уровень выделения) подобъект Center (Центр). Крест, обозначающий центральную точку, окрасится в желтый цвет. Щелкните на нем в окне проекции Тор (Вид сверху), выбрав инструмент Select and Move (Выделить и переместить), и перетащите в середину параллелепипеда, как показано на рис. 9.

3. Настройте параметры заострения в свитке Parameters (Параметры). Установите в счетчике Amount (Величина) значение 0,55. Переключатель Primary (Первичная ось) раздела Taper Axis (Ось заострения) установите в положение X, а переключатель Effect (Ось эффекта) – в положение Z. Создайте два образца заостренного параллелепипеда и разместите их на конце заготовки вилки, как показано на рис. 9.



Рисунок 9. Центр модификатора перемещен в геометрический центр параллелепипеда.

4. Перейдем к булевому вычитанию. Пока к объекту не применили булевы операции и он еще находиться в состоянии лофтинга подкорректируйте изгибы и формы вилки до полного соответствия. Выделите объект Вилка и выберите на командной панели кнопку Boolean (Булевы операции). Щелкните на кнопке Pick Operand В (Указать операнд В) в свитке Pick Boolean (Задать операнд) и выделите первый из трех параллелепипедов, предназначенных для формирования промежутков между зубьями вилки. Проследите, чтобы переключатель Operation (Операция) был установлен в положение Subtraction (А-В) (Исключение (А-В)). Параллелепипед исчезнет, оставив после себя щель между двумя зубьями вилки, как показано на рис. 10. Щелкните правой кнопкой мыши, завершая операцию булевого вычитания.



Рисунок 10. Первая пара зубьев сформирована.

Объект сцены № 2 - создание пивной крышки.

1. Создайте в окне – Top сплайн Звезды (Star) с такими параметрами как на картинке.



2. В окне – Front создайте 2 копии звезды как показано на рисунке и перейдем в раздел “Modify”. поменяйте значение 1 копии - Radius2: 95; 2 копии - Radius2: 90.





3 В окне – Front создайте сплайн линию “Line” рядом со звездой.



4.Переходим в окно – Perspective и выделяем сплайн линию, переходим в раздел Compound Object как показано на рисунке. и нажимаем на кнопочку Loft. В разделе Creation Method нажимаем на Get Shape и указываем на первую созданную нами звезду,( указатель курсора изменит свой вид)я изменил параметры «Path» на 50 определяющий расположение сечение модели, относительно направляющего сплайна и указал на второй сплайн звезды, еще раз изменил параметр “Path” теперь на 100 и указал третью копию сплайна звезды.



5. в разделе Skin Parameters, снимем галочку с “Cap End” что бы образовалось отверстие и уберем число сегментов Shape Steps: 0 и Path Steps: 0.



6. У нас получились слишком острые зубья, нужно это исправить. перейдем в подобъекта Shape составного объекта Loft. и выделим сплайн с открытой стороны крышки и применим к нему модификатор Fillet/ Chamfer. и установим радиус Radius: 3,6. теперь наши зубья стали более сглаженными.





7. Переключим вид отображение Edger Faces и выделяем нашу крышку и применим к ней модификатор Edit Poly. Но не конвертируем, чтобы мы в дальнейшем смогли отключить этот модификатор и что то переправить, если это будет нужным.
8. Перейдем в режим редактирование полигонов, и выделяем дно нашей крышки и применим к ней многократную операцию Bevel, для того что бы наша крышка приняла округлую форму.





9. Наша крышка не имеет толщину, исправим это и применим к крышке модификатор Shell, с настройками как у меня.

 

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



11.Применим к крышке модификатор Mesh Smooth, чтоб наша крышка была сглаженная.



12.Я применил к крышке модификатор Taper, чтоб немного сузить форму крышки к кверху, такую форму обычно имеет крышка снятая с бутылки. Можете сами с настройками поиграть…




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


Листинг программы:


Program app1;
Uses

crt, math, Graph;
var

mode, driver:integer;

x, y: real;

cx, cy: integer;

i: integer;

a: real;
begin

clrscr;

writeln('Please wait, while program detect your Graphic mode.');

driver:=detect;

Writeln('Graphic mode detected.');

writeln('Initilization detected graphic mode. . .');

initgraph(mode, driver, ' C:\FPC\2.0.0\units\i386-win32\bgi');
ClearDevice;

setcolor(darkgray);

line(0, getmaxy div 2, getmaxx, getmaxy div 2);

line((getmaxx div 2)-300, 0, (getmaxx div 2) - 300, getmaxy);

putpixel(getmaxx div 2, (getmaxy div 2) - 300, darkGray);
Setcolor(1);

outtextxy(5, 5, 'a = -1');

a:= -1;

x:= 0;

y:= (a * Power(Exp(1.0), (trunc(x) div 100)) * cos(x/3.14) )*10;

cx := getmaxx div 2 + trunc(x) - 300; cy := getmaxy div 2 + trunc(y);

moveto(cx, cy);
for i := 0 to 600 do

begin

x := i;

y := (a * Power(Exp(1.0), (trunc(x) div 100)) * cos(x/3.14) )*10;

cx := getmaxx div 2 + trunc(x) - 300; cy := getmaxy div 2 + trunc(y);

lineto(cx, cy);

delay(10);

end;

delay(5000);
ClearDevice;

setcolor(darkgray);

line(0, getmaxy div 2, getmaxx, getmaxy div 2);

line((getmaxx div 2)-300, 0, (getmaxx div 2) - 300, getmaxy);

putpixel(getmaxx div 2, (getmaxy div 2) - 300, darkGray);
Setcolor(2);

outtextxy(5, 5, 'a = 0.5');

a:= 0.5;

x:= 0;

y:= (a * Power(Exp(1.0), (trunc(x) div 100)) * cos(x/3.14) )*10;

cx := getmaxx div 2 + trunc(x) - 300; cy := getmaxy div 2 + trunc(y);

moveto(cx, cy);

for i := 0 to 600 do

begin

x := i;

y := (a * Power(Exp(1.0), (trunc(x) div 100)) * cos(x/3.14) )*10;

cx := getmaxx div 2 + trunc(x) - 300; cy := getmaxy div 2 + trunc(y);

lineto(cx, cy);

delay(10);

end;

Delay(5000);
ClearDevice;

setcolor(darkgray);

line(0, getmaxy div 2, getmaxx, getmaxy div 2);

line((getmaxx div 2)-300, 0, (getmaxx div 2) - 300, getmaxy);

putpixel(getmaxx div 2, (getmaxy div 2) - 300, darkGray);
Setcolor(3);

outtextxy(5, 5, 'a = 1');

a:= 1;

x:= 0;

y:= (a * Power(Exp(1.0), (trunc(x) div 100)) * cos(x/3.14) )*10;

cx := getmaxx div 2 + trunc(x) – 300; cy := getmaxy div 2 + trunc(y);

moveto(cx, cy);
for i := 0 to 600 do

begin

x := i;

y := (a * Power(Exp(1.0), (trunc(x) div 100)) * cos(x/3.14) )*10;

cx := getmaxx div 2 + trunc(x) - 300; cy := getmaxy div 2 + trunc(y);

lineto(cx, cy);

delay(10);

end;

Delay(5000);
ClearDevice;

setcolor(darkgray);

line(0, getmaxy div 2, getmaxx, getmaxy div 2);

line((getmaxx div 2)-300, 0, (getmaxx div 2) - 300, getmaxy);

putpixel(getmaxx div 2, (getmaxy div 2) - 300, darkGray);
setcolor(4);

outtextxy(5, 5, 'a = 1,5');

a:= 1.5;

x:= 0;

y:= (a * Power(Exp(1.0), (trunc(x) div 100)) * cos(x/3.14) )*10;

cx := getmaxx div 2 + trunc(x) - 300; cy := getmaxy div 2 + trunc(y);

moveto(cx, cy);
for i := 0 to 600 do

begin

x := i;

y := (a * Power(Exp(1.0), (trunc(x) div 100)) * cos(x/3.14) )*10;

cx := getmaxx div 2 + trunc(x) - 300; cy := getmaxy div 2 + trunc(y);

lineto(cx, cy);

delay(10);

end;
delay(5000);

Closegraph;

End.




Результаты выполнения программы: A = -1


А = -0,5


А = 0,5


А = 1

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


    1. Фаронов В. В. Turbo Pascal. Наиболее полное руководство. BHV-Санкт-Петербург, 2007

    2. Е. А. Зуев. Программирование на языке Turbo Pascal 6.0, 7.0, М.:Веста,Радио и связь, 1993, — С.376,

    3. http://DizMir.com

    4. http://www.delphiworld.com

    5. http://www.demiart.ru/



Лист регистрации замечаний.



страница 1


скачать

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