Моделирование книги из одного сплайна. Моделирование книги


Моделирование книги из одного сплайна

Здравствуйте, коллеги! Один киногерой говорил:"Петь я не умею, но люблю." Также и я, не скажу что отличный моделлер, но люблю это дело. Очень сложную модель не осилю, но всегда стараюсь не искать модель в интернете, а делать сам. Мне нравится процесс. Как из ничего вырисовывается сначала заготовка, постепенно она приобретает нужный вид, потом настраивается материал и в результате получается фотореалистичная модель... Или не получается :) Я не профессионал, тупиковые моменты случаются. На мой взгляд, моделирование именно в 3Ds Max интересно ещё и тем, что большинство моделей можно создавать разными способами. Кому-то нравится конвертировать примитив в полигональную модель и дальше работать с ней. Кто-то из примитивов собирает будущую модель, а потом её шлифует. Мне больше нравится работать со сплайнами.  В этом уроке я покажу как сделать модель книги из одного сплайна, а также как подобрать и нарисовать текстуры для нашей книги. За двадцать минут из единственного сплайна можно создать неплохую модель. Такую книгу можно положить на журнальный столик или на прикроватную тумбочку, расположенные на переднем плане, что, конечно же, добавит насыщенности в сцене. Размеры такой модели книги из одного сплайна напрямую зависит от найденной текстуры обложки, что позволяет быстро создать нужную форму книги, а не колдовать с текстурами, подгоняя их под имеющуюся болванку. А имея сделанную один раз такую модель, её легко подкорректировать и под другие размеры книги, которая понадобится в следующий раз. В уроке я не стал останавливаться подробно на настройке материала обложки.  Чтобы подробно разобрать все виды обложек - мягкая, твёрдая полуглянцевая, кожаная, тканевая и их вариации - новая, состаренная, с тиснением и т.д., не хватило бы и ещё одного урока. Чтобы подробно изучить создание материалов приглашаю пройти курсы в Авторской Школе Иосифа Четвертакова, где Вы научитесь создавать сами материалы, настраивать свет и камеру и многое-многое другое.  Желаю Успехов в моделировании!

Здравствуйте, коллеги!

Один киногерой говорил:"Петь я не умею, но люблю." Также и я, не скажу что отличный моделлер, но люблю это дело. Очень сложную модель не осилю, но всегда стараюсь не искать модель в интернете, а делать сам. Мне нравится процесс. Как из ничего вырисовывается сначала заготовка, постепенно она приобретает нужный вид, потом настраивается материал и в результате получается фотореалистичная модель... Или не получается :) Я не профессионал, тупиковые моменты случаются.

На мой взгляд, моделирование именно в 3Ds Max интересно ещё и тем, что большинство моделей можно создавать разными способами. Кому-то нравится конвертировать примитив в полигональную модель и дальше работать с ней. Кто-то из примитивов собирает будущую модель, а потом её шлифует. Мне больше нравится работать со сплайнами. 

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

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

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

Желаю Успехов в моделировании!

3dmax-online.ru

Моделирование структуры книги

Оглавление

Введение 3

Анализ и описание предметной области проекта 4

Разработка объектной модели 5

Определение объектов и классов 5

Подготовка словаря данных 5

Определение атрибутов объектов 6

Определение методов классов 7

Упрощение классов при использовании наследования и графическое изображение объектной модели 7

Реализация объектной модели на языке программирования C++ 9

Реализация класса книги 9

Порождение объектов 19

Вызов операций 20

Использование наследования 21

Реализация зависимостей 22

Анализ полученных результатов и выводы 23

Снимок экрана программы 24

Литература 25Введение

Темой данной курсовой работы является изучение объектно-ориентированных возможностей языка C++ (номер варианта 34). Предметная область курсовой работы согласно варианту – моделирование структуры книги.

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

Для повышения эффективности создания программных комплексов и сокращения времени, отводимого на проектирование и реализацию конечного продукта, фирма Microsoft рекомендует использовать разработанную ею библиотеку классов MFC (Microsoft Foundation Classes), поставляемую в составе среды разработки программ Microsoft Visual C++ 6. Поэтому приложение, созданное в ходе написания данной курсовой работы, является приложением, использующем библиотеку MFC, и разработано в визуальной среде Microsoft Visual C++ 6. Предназначение данного приложения – наглядное представление в визуальной форме структуры книги.

Анализ и описание предметной области проекта

Предметная область данной курсовой работы была выбрана в методическом приложении: моделирование структуры книги (вариант №34).

Книга содержит текстовую информацию (в простейшем случае) и имеет древовидную структуру – книга состоит из нескольких разделов, раздел состоит из нескольких глав, глава, в свою очередь, состоит из страниц. Особый компонент книги, облегчающий ее использование, – оглавление, имеющее также древовидную структуру. Недостаток бумажной книги – необходимость часто открывать страницы, содержащие оглавление, для определения номеров нужных страниц, далее необходимо осуществлять поиск этих страниц по известным номерам, на что снова уходит некоторое время. В электронных книгах (например, созданных для просмотра с помощью программы Adobe Acrobat Reader) оглавление всегда находится перед глазами читателя и переход на нужную страницу осуществляется простым щелчком мыши по элементу, соответствующему некоторой странице. Кроме того, в таких оглавлениях показываются все страницы, а не только первые страницы глав, что также упрощает навигацию по книге. И в бумажных, и в электронных книгах всегда присутствует возможность перевернуть одну страницу вперед или назад. Для упрощения задачи и осуществления совместимости с книгами, созданными для просмотра на ПК, ориентированных на текстовые операционные системы (типа DOS), страницу мы будем рассматривать как объект, содержащий исключительно текстовую информацию, отображаемую единым шрифтом и не содержащую никакого форматирования. Таким образом, можно представить страницу как массив с константным количеством расположенных вертикально сверху вниз горизонтальных строк, содержащих константное количество символов (в случае использования немоноширинных шрифтов строки имеют постоянную длину, выраженную в физических единицах: сантиметрах, дюймах, пикселях и т.п.).

Разработка объектной модели

Определение объектов и классов

Согласно модели приложения, используемой библиотекой MFC, любое SDI-приложение должно иметь определения следующих классов: класс приложения, порожденный от CWinApp, класс окна, порожденный от CFrameWnd, класс документа, порожденный от CDocument, и класс представления, порожденный от CView. Т.к. приложение для просмотра книг выполнено в стиле “Explorer”, то также определен класс представления оглавления книги, порожденный от CTreeView. Кроме того, класс представления страницы книги порожден не непосредственно от класса CView, а от наследуемого от CView класса – класса CListView. Т.е. страница книги имеет представление в виде списка ее строк.

Класс, отражающий структуру книги, имеет название CBookClass. Определены классы коллекций разделов, глав и страниц – класс CRazdels, класс CGlavas и класс CPages соответственно; а также классы собственно раздела, главы и страницы – класс CRazdel, класс CGlava и класс CPage соответственно.

Подготовка словаря данных

Приложение – глобальный объект класса приложения, используемый для согласования работы объектов других стандартных классов MFC и для разрешения ссылок внутри одних объектов на другие объекты.

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

Документ – информация, которую пользователь может сохранять в процессе работы с приложением и затем считывать.

Представление – средства представления документа пользователю в процессе выполнения приложения.

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

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

Определение атрибутов объектов

В классе документа определен открытый атрибут – объект класса CBookClass:

class CBookDoc : public CDocument

{

public:

CBookClass m_Book;

};

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

Классы книги, раздела, главы и страницы имеют закрытую член-переменную m_Name класса CString. Т.к. книга имеет древовидную структуру, то классы книги, раздела и главы соответствуют ветвям дерева, а класс страницы – листу этого дерева. Поэтому классы-ветви содержат член-переменную класса коллекции более мелких объектов (книга содержит коллекцию разделов, глава – коллекцию страниц), а страница содержит член-переменную – массив объектов класса CString (строки этой страницы). Классы раздела и главы содержат члены-переменные типа WORD – номера первой и последней страниц, принадлежащих данному разделу или главе. Класс раздела содержит также номера первой и последней глав, принадлежащих этому разделу.

В классе книги определен закрытый атрибут типа WORD, хранящий номер страницы, которая в данный момент времени просматривается пользователем. Кроме того, в классе книги определены члены-указатели на элементы управления CTreeCtrl и CListCtrl, позволяющие осуществлять при чтении книги переход от одной страницы к другой. Для этой же цели в классе страницы определена член-переменная – указатель на элемент дерева – типа HTREEITEM.

Для перебора всех страниц книги удобно пользоваться не деревом, а массивом страниц. Поэтому в классе книги определена член-переменная – массив указателей на страницы книги – MFC-класса CPtrArray.

Определение методов классов

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

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

Классы коллекций разделов, глав и страниц (CRazdels, CGlavas и CPages) имеют открытые члены-функции DeleteRazdels(), DeleteGlavas() и DeletePages() соответственно. Данные члены-функции осуществляют освобождение памяти, выделенной под хранение книги, при открытии другой книги или завершении работы программы.

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

Упрощение классов при использовании наследования и графическое изображение объектной модели

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

Класс, использующий код другого класса, называется производным или подклассом . Класс, который предоставляет свой код другому классу, называется базовым или суперклассом . Если есть необходимость предоставить методам порожденного класса возможность прямого доступа к члену-переменной базового класса, вместо квалификатора доступа private можно использовать квалификатор protected . Может оказаться, что методы базового класса, унаследованные порожденным классом, не совсем соответствуют специфике последнего и нуждаются в определенной модификации. Для этого потребуется разработать отдельный метод Имя_Класса::Метод(). Это и есть перегрузка методов базового класса. Если желательно, чтобы метод Имя_Класса::Метод() выполнял то же, что и метод базового класса, а затем и еще нечто, то наилучшим способом достичь такого результата будет вызов Имя_Базового_Класса::Метод() внутри Имя_Класса::Метод(). Но при этом нужно использовать полное имя метода базового класса, т.е. именно Имя_Базового_Класса::Метод().

mirznanii.com

Моделирование структуры книги

Снимок экрана программы                                                                              24

Темой данной курсовой работы является изучение объектно-ориентированных возможностей языка C++ (номер варианта 34). Предметная область курсовой работы согласно варианту – моделирование структуры книги.

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

Для повышения эффективности создания программных комплексов и сокращения времени, отводимого на проектирование и реализацию конечного продукта, фирма Microsoft рекомендует использовать разработанную ею библиотеку классов MFC (Microsoft Foundation Classes), поставляемую в составе среды разработки программ Microsoft Visual C++ 6. Поэтому приложение, созданное в ходе написания данной курсовой работы, является приложением, использующем библиотеку MFC, и разработано в визуальной среде Microsoft Visual C++ 6. Предназначение данного приложения – наглядное представление в визуальной форме структуры книги.

Предметная область данной курсовой работы была выбрана в методическом приложении: моделирование структуры книги (вариант №34).

Книга содержит текстовую информацию (в простейшем случае) и имеет древовидную структуру – книга состоит из нескольких разделов, раздел состоит из нескольких глав, глава, в свою очередь, состоит из страниц. Особый компонент книги, облегчающий ее использование, – оглавление, имеющее также древовидную структуру. Недостаток бумажной книги – необходимость часто открывать страницы, содержащие оглавление, для определения номеров нужных страниц, далее необходимо осуществлять поиск этих страниц по известным номерам, на что снова уходит некоторое время. В электронных книгах (например, созданных для просмотра с помощью программы Adobe Acrobat Reader) оглавление всегда находится перед глазами читателя и переход на нужную страницу осуществляется простым щелчком мыши по элементу, соответствующему некоторой странице. Кроме того, в таких оглавлениях показываются все страницы, а не только первые страницы глав, что также упрощает навигацию по книге. И в бумажных, и в электронных книгах всегда присутствует возможность перевернуть одну страницу вперед или назад. Для упрощения задачи и осуществления совместимости с книгами, созданными для просмотра на ПК, ориентированных на текстовые операционные системы (типа DOS), страницу мы будем рассматривать как объект, содержащий исключительно текстовую информацию, отображаемую единым шрифтом и не содержащую никакого форматирования. Таким образом, можно представить страницу как массив с константным количеством расположенных вертикально сверху вниз горизонтальных строк, содержащих константное количество символов (в случае использования немоноширинных шрифтов строки имеют постоянную длину, выраженную в физических единицах: сантиметрах, дюймах, пикселях и т.п.).

Определение объектов и классов

Согласно модели приложения, используемой библиотекой MFC, любое SDI-приложение должно иметь определения следующих классов: класс приложения, порожденный от CWinApp, класс окна, порожденный от CFrameWnd, класс документа, порожденный от CDocument, и класс представления, порожденный от CView. Т.к. приложение для просмотра книг выполнено в стиле “Explorer”, то также определен класс представления оглавления книги, порожденный от CTreeView. Кроме того, класс представления страницы книги порожден не непосредственно от класса CView, а от наследуемого от CView класса – класса CListView. Т.е. страница книги имеет представление в виде списка ее строк.

Класс, отражающий структуру книги, имеет название CBookClass. Определены классы коллекций разделов, глав и страниц – класс CRazdels, класс CGlavas и класс CPages соответственно; а также классы собственно раздела, главы и страницы – класс CRazdel, класс CGlava и класс CPage соответственно.

www.coolreferat.com

Книга: Компьютерное моделирование

Павловский Ю.Н.Компьютерное моделированиеРассматривается круг вопросов, связанных с созданием и исследованием имитационных моделей широкого класса сложных социально-экономических и организационно-технических систем. Обсуждаются базовые… — Физматкнига, (формат: 60x90/16, 272 стр.) - Подробнее...20141057бумажная книга
В. ПаничевКомпьютерное моделированиеВ учебном пособии рассмотрены основы теории моделирования систем; принципы и методы математического и имитационного моделирования динамических систем и систем массового обслуживания. Предназначено… — БИБКОМ, (формат: 60x90/16, 272 стр.) электронная книга Подробнее...2008320электронная книга
Градов В.М.Компьютерное моделирование — КУРС, (формат: 60х90/16, 264 стр.) высшее образование Подробнее...2017898бумажная книга
С. Г. Герман-ГалкинКомпьютерное моделирование полупроводниковых систем в MatLab 6. 0 + дискетаПредлагаемая книга рассматривает вопросы практического использования MatLab 6. 0 для решения задач по проектированию полупроводниковых систем электропривода. Учебное пособие для технических… — Корона-Принт, (формат: 70x100/16, 320 стр.) Учитель и ученик Подробнее...2001464бумажная книга
Гулд Х.Компьютерное моделирование в физике (комплект из 2 книг)Компьютерное моделирование в физике (комплект из 2 книг) — (формат: 60x90/16, 272 стр.) Подробнее...19901200бумажная книга
Сосновиков Г.К., ВоробейчиковКомпьютерное моделирование. Практикум по имитационному моделированию в среде GPSS World: Учебное посКомпьютерное моделирование. Практикум по имитационному моделированию в среде GPSS World: Учебное пос — (формат: 60x90/16, 272 стр.) Подробнее...2015325бумажная книга
Королев Александр ЛеонидовичКомпьютерное моделирование. Лабораторный практикумПрактикум является дополнением к учебнику А. Л. Королев "Компьютерное моделирование" и содержит лабораторные работы по курсу" Компьютерное моделирование" . В лабораторных работах описано построение… — Бином. Лаборатория знаний, (формат: 60х90/16, 264 стр.) Педагогическое образование Подробнее...2015443бумажная книга
Г. К. Сосновиков, Л. А. ВоробейчиковКомпьютерное моделирование. Практикум по имитационному моделированию в среде GPSS World: Учебное пособие. Гриф МО РФВ учебном пособии рассматриваются основы построения имитационных моделей с применением общецелевой системы имитационного моделирования GPSS World. Рассмотрены инструментальные средства и логика… — Инфра-М, Форум, (формат: 60х90/16, 264 стр.) Высшее образование: Бакалавриат Подробнее...20151053бумажная книга
А. А. РусаковКомпьютерное моделирование и творчество юных математиковВ статье приведен пример поэтапного проектирования индивидуальной траектории научно-исследовательской работы школьника. Компьютерное моделирование облегчило решение поставленной задачи. Открытие… — Синергия, Прикладная информатика. Научные статьи электронная книга Подробнее...200979.9электронная книга
А. Г. МадераКомпьютерное моделирование температурных полей технических систем при интервально стохастической неопределенности параметровПрактика показывает, что температурные поля в реальных технических системах имеют неопределенный интервальный характер, что обусловливается интервально стохастической неопределенностью параметров… — Синергия, (формат: 70x100/16, 320 стр.) Прикладная информатика. Научные статьи электронная книга Подробнее...201579.9электронная книга
Компьютерное моделирование и оптимизирование составов композиционных строительных материаловПредставлены теоретические положения проектирования составов строительных композиционных материалов, базирующиеся на применении средств вычислительной техники, которые позволяют решать многие задачи… — Издательство Ассоциации строительных вузов, (формат: 60x90/16, 272 стр.) Подробнее...20151676бумажная книга
Белов В.В.Компьютерное моделирование и оптимизирование составов композиционных строительных материалов. МонографияПредставлены теоретические положения проектирования составов строительных композиционных материалов, базирующиеся на применении средств вычислительной техники, которые позволяют решать многие задачи… — Ассоциация строительных вузов (АСВ), (формат: 60х90/16, 264 стр.) - Подробнее...20151344бумажная книга
Владимир Белов,Анатолий Бобрышев,Владимир Ерофеев,Илья Образцов,Александр Бобрышев,Алексей Меркулов,Павел Ерофеев,Ирина Максимова,Дмитрий МеркуловКомпьютерное моделирование и оптимизирование составов композиционных строительных материалов. МонографияПредставлены теоретические положения проектирования составов строительных композиционных материалов, базирующиеся на применении средств вычислительной техники, которые позволяют решать многие задачи… — Издательство Ассоциации строительных вузов, (формат: 60х90/16, 264 стр.) Подробнее...20151685бумажная книга
А.С. Городецкий, М.С. Барабаш, В. Н. СидоровКомпьютерное моделирование в задачах строительной механики. Учебное пособие (+ CD)В учебном пособии приведены теоретические и практические основы компьютерного моделирования применительно к задачам расчета строительных конструкций, представлены особенности решения нелинейных… — Издательство Ассоциации строительных вузов, (формат: 60х90/16, 264 стр.) Подробнее...20161644бумажная книга
Кудрявцев Е.М.Компьютерное моделирование, проектирование и расчет элементов машин и механизмовРассмотрены основы компьютерного моделирования, проектирования и расчета элементов машин и механизмов, включая компьютерные расчеты параметров основных элементов машин и механизмов, основы создания… — Ассоциация строительных вузов (АСВ), (формат: 60х90/16, 264 стр.) - Подробнее...20181466бумажная книга

dic.academic.ru