Программирование в Pascal. Моделирование 3D-объектов

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

?ющие выводить графические объекты на экраны мониторов, что позволило использовать машинную графику в качестве инструмента специалистам различных областей, не связанных с программированием. Увеличение памяти и скорости обработки информации в персональных ЭВМ, создание видеокомплексов с широким набором программ машинной графики, возможность управления ими в диалоговом режиме способствовали дальнейшему расширению применения машинной графики. Важную, практически определяющую роль в этом процессе сыграл выпуск компанией Apple компьютеров Macintosh. Они были для своего времени настоящей революцией. Во-первых, Macintosh серийно поставлялся с цветным монитором. Во-вторых, его операционная система обладала наглядным, визуальным интерфейсом (своего рода аналог более поздней ОС Windows). И в-третьих, их мощности было достаточно для обработки графических изображений. Именно поэтому Macintosh сразу заслужил внимание множества профессиональных художников и дизайнеров, которые сменили карандаш и кисть на мышь и клавиатуру. С тех пор графический способ отображения данных стал неотъемлемой принадлежностью подавляющего числа компьютерных систем, в особенности персональных. Графический интерфейс пользователя сегодня является стандартом де-факто для программного обеспечения разных классов, начиная с операционных систем. Результат многолетнего развития технологий данного рода индустрии можно ежедневно наблюдать в повседневной жизни в неожиданных местах - от старой доброй растровой графики до векторной графики и 3D.

Для упрощения работы с графикой в настоящий момент существует ряд программных и аппаратных решений, позволяющих сконцентрироваться на основной задаче. На рынке широко представлены всевозможные графические акселераторы и массивы быстрой памяти. Ведущие производители электронных компонентов, такие как Intel и AMD, поддерживают обработку изображения на уровне процессорной техники (MMX, 3D Now), следовательно, становится возможным реализация медленных, но дающих лучшее качество изображения алгоритмов. Среди средств, упрощающих написание программной части корпорация Microsoft предлагает два решения. Первое это DirectX, без которого не в состоянии работать подавляющее большинство приложений игровой индустрии. DirectX - это набор готовых классов, процедур, функций, структур и констант. DirectX представляет собой интерфейс программирования приложений ориентированный на упрощенное использование аппаратных мультимедиа-решений компьютера, а так же подразумевает прямой доступ к ним. DOS позволяла разработчику получить прямой доступ к видеокарте, клавиатуре/мыши/джойстику и прочим частям системы, в то время как новая ОС, Windows, с её защищённой моделью памяти, предоставляла более стандартизованный, но в то же время весьма ограниченный и накладный доступ к устройствам. Вторым решением для разработчиков является Microsoft XNA - набор инструментов с управляемой средой времени выполнения .NET для DirectX, облегчающий разработку и управление компьютерными играми и графическими приложениями. Использование этого продукта позволяет избежать многих технических трудностей и отстраниться от написания подсистемы вывода графики - остается подгрузить уже заранее подготовленные структуры объектов (модели) и описать их взаимодействие в процессе работы приложения.

Существует ряд конкурирующих решений, таких как OpenGL - открытая графическая библиотека. Это довольно мощный независимый от языка программирования, кросс-платформенный программный интерфейс для написания приложений, использующих как двумерную, так и трёхмерную компьютерную графику. Он включает в себя более 250 функций для рисования сложных трёхмерных сцен из простых примитивов, довольно часто используется при создании компьютерных игр, САПР, систем виртуальной реальности, а так же визуализации в научных исследованиях. Существенным преимуществом платформы являются эффективные реализации OpenGL для Windows, Unix-платформ, PlayStation 3 и Mac OS, в отличие от DirectX, применимого только в среде Windows. Еще одной важной особенностью среды является возможность исключительно программной реализации спецификации OpenGL одной из которых является библиотека Mesa в случае отсутствия аппаратных средств либо скудной производительности последних. Для программиста OpenGL хорош не только своей сравнительной простотой реализации и наглядной простотой кода, но и большим выбором дополнительных библиотек, позволяющим расширить возможности среды. Яркими представителями являются GLU и GLUT.

Понятие трехмерной графики

 

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

 

Рисунок 1

 

Задача трёхмерного моделирования - описать эти объекты и разместить их в сцене с помощью геометрических преобразо?/p>