Содержание
Введение4
1. Математическая формулировка задачи5
2. Описание программы6
2.1 Описание набора компонент DelphiX6
2.2 Интерфейс DirectDraw6
2.2.1 Видео режимы7
2.3 Система координат Direct3DRM®. (Reatined Mode)8
2.4 COM9
2.6 Руководство программиста11
2.6.1 Иерархическая структура состава программных компонентов11
2.6.2 Описание методов DelphiX11
2.6.3 Описание класса TmainForm12
2.6.4 Описание класса TDXGraph13
2.6.5 Описание динамической библиотеки ColorDLL13
2.7 Руководство пользователя14
3. Методика испытаний16
Заключение17
Список использованной литературы18
Приложение. Листинг программы19
1. Листинг модуля MainUnit19
Выдержка из текста
2.6.2 Описание методов DelphiX
DXDrawInitializeSurface
Этот метод запускается при инициализации компонента TDXDraw. Следует указать, что DXDraw инкапсулирует D3D, D3D2, D3Ddevice, D3DDevice2, D3DRM, D3DRM2, D3DRMDevice, D3DRMDevice2, DDraw — ни что иное, как соответствующие интерфейсы DirectX. Обратите внимание на DXDraw.D3DRMDevice2.SetRenderMode (D3DRMRENDERMODE_BLENDEDTRANSPARENCY or D3DRMRENDERMODE_ SORTEDTRANSPARENCY). Эти два флага установлены вот для чего — если у нас два треугольника находятся один под другим и оба видны (т.е. вершины у них по часовой) нужно их сперва отсортировать по координате Z, чтоб понять, кто кого загораживает. Включает такую сортировку флаг, названный D3DRMRENDERMODE_SORTED TRANSPARENCY.
Наиболее важным является метод
DXDrawInitialize
Здесь сначала создаются два фрейма — Mesh и Light, для нашего видимого объекта и для лампочки, его освещающей.
MeshFrame.SetRotation(DXDraw.Scene, 0.0, 10.0, 0.0, Scale)
(первые три цифры — координаты вектора вращения, последний параметр — угол полворота) . Отличие между методами SetRotation и AddRotation в том, что AddRotation поворачивает объект только один раз, а SetRotation — заставляет его поворачиваться на указанный угол при каждом следующей итерации (with every render tick).
Потом создается т.н. MeshBuilder — специальный объект, инкапсулирующий методы для добавления к нему граней.
Этот обьект может быть загружен из файла (и естественно сохранен в файл). По традиции файлы имеют расширение X. В самом же деле, задавать координаты каждого треугольника вручную очень трудоемко. В программе Torus3D координаты задаются математически при помощи соответствующих формул.
MeshBuilder.Scale(3, 3, 3) применяем для увеличения, допустим, в три раза по всем координатам.
Список использованной литературы
1.Фаронов В.В. Delphi 5. Учебный курс.-М.:»Нолидж», 1998.-400с.
2.Сван, Том. Delphi 4. Библия разработчика: Пер. с англ. К; М.; СПб.: Диалектика, 1998. 672 с.
3.Марко Кэнту. Delphi 5 для профессионалов.-СПб.: Питер. 2001. 944 с.
4.Бобровский С. Delphi 5: учебный курс- СПб: Издательство «Питер», 2000.- 640с.
5.А.М.Епанешников, В.А.Епанешников Программирование в среде Delphi.-М.:»Диалог МИФИ», 1998.
6.Фурунжиев Р.И. Вычислительная техника и ее применение. 3-изд. -Мн.: Выш.шк. 1986. — 462 с.
7.Л. Аммерал Принципы программирования в машинной графике. Пер.с англ.-М.:Сол Систем, 1992.-224с.
8.Программа Delphi World 6.0 http://delphiworld.narod.ru Акулов Николай.