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

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

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

?аний в соответствии с требованиями к будущему изображению. Математическая либо векторная пространственная модель превращается в плоскую (растровую) картинку. Если требуется создать фильм, то обрабатывается целая последовательность таких картинок - кадров. Как структура данных, изображение на экране представлено матрицей точек. Таким образом, процесс получения изображения преобразует трёхмерную векторную структуру данных в плоскую матрицу пикселов. Этот шаг часто требует очень сложных вычислений, особенно если требуется создать иллюзию реальности.

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

Для работы с трехмерными объектами необходима еще одна ось - ось Z (рис.2). Существует несколько вариантов трехмерных систем координат, в частности, распространены так называемые правосторонняя и левосторонняя системы.

 

Рисунок 2

 

Особенность этой системы координат заключается в том, что начало координат можно сопоставить с левым нижним углом монитора, положительная часть оси X находится справа от начала координат, положительная часть оси Y - сверху, а положительная часть оси Z - спереди. А это значит, что видимая часть оси Z - это её отрицательная часть. Эта часть оси находится как бы в глубине монитора, в то время как положительная часть находится спереди монитора. В двумерной системе координат существует понятие точки - ее координаты задаются двумя значениями - X и Y. Точки существуют и в трехмерной системе координат - они задаются уже тремя значениями - X, Y, Z.

Точки используют для того, чтобы задавать координаты вершин многоугольников (полигонов), в частности - треугольников. Так, треугольник, задан тремя точками - A, B, C. Как правило, более сложные трехмерные объекты строятся именно из треугольников.

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

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

Несколько граней, из которых состоит трехмерный объект, называются сеткой. "Сетка" представляет собой набор треугольников.

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

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

В трёхмерной компьютерной графике все объекты обычно представляются как набор поверхностей или частиц. Минимальную поверхность (некоторую плоскость, ограниченную набором точек и ребер) иногда называют полигоном. Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины. Координаты каждой вершины представляют собой вектор (x, y, z). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/масштабированный относительно исходного.

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

Организация процесса построения проекции

 

Проволочная ?/p>