Модели трехмерных объектов. Требования, предъявляемые к моделям.



 

Геометрическая модель является машинным представлением формы и размера

Виды

  1. Каркасная (не даёт представления о наличии отверстий)
  2. Поверхностная (не даёт представления, по какую сторону материал, а по какую пустота)
  3. Объёмная
    Требования
  4. Модель не должна противоречить исходному объекту
  5. Можель должна допускать возможность конструирования тела целиком
  6. Модель должна допускать вычисление геометрических характеристик тела
  7. Модель должна позволять проводить расчеты: кинематические, сопротивления

Свойства

  1. Однородность (тело заполнено изнутри)
  2. Конечность (каждое тело занимает конечный объём)
  3. Жёсткость (сплошное тело сохраняет форму независимо от положения)

Требования к ПО

  1. Согласованность операций (любые операции над сплошными телами должны приводить к сплошным телам)
  2. Возможность описания (любое тело должно представляться в машинном виде)
  3. Непротиворечивость информации (любая точка принадлежит 1 телу, для любой точки можно сказать, принадлежит ли она телу)
  4. Компактность модели
  5. Открытость модели (разрабатываемая модель должна иметь применении при работе с разными алгоритмами)

20. Операции преобразования в трехмерном пространстве. Матрицы преобразований.

Трехмерное отсечение. Виды отсекателей. Вычисление кодов концов отрезка для каждого типа отсекателей. Алгоритм отсечения отрезков средней точкой.

Трёхмерный алгоритм аналогичен двумерному, но к координатам добавляется третья компонента. Код видимости задаётся 6 битами. Если отсекатель – усечённая пирамида, то для составления кода используются пробные функции

Отсечение отрезков в трехмерном пространстве. Трехмерный алгоритм Кируса Бека.

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

23. Определение факта выпуклости трехмерных тел. Разбиение тела на выпуклые многогранники.

Алгоритм плавающего горизонта.

Для хранения максимальных значений y при каждом значении x используется массив, длина которого равна числу различимых точек (разрешению) по оси x в пространстве изображения. Значения, хранящиеся в этом массиве, представляют собой текущие значения "горизонта". Поэтому по мере рисования каждой очередной кривой этот горизонт "всплывает". Фактически этот алгоритм удаления невидимых линий работает каждый раз с одной линией.

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

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

Суть алгоритма

  1. обработать левое боковое ребро
  2. для каждой точки очередной кривой проверить условие видимости 3. если видимость изменилась, вычислить точку пересечения
  3. изобразить видимую часть кривой
  4. заполнить массивы горизонтов
  5. обработать правое боковое ребро

Обработка боковых рёбер Левое: если Pk – первая точка первой кривой , то запоминаем её в качестве предыдущей Pk-1, если на не первой – соединяем K и K-1 и запоминаем текущую как K-1. Аналогично правое. В массивы верхнего и нижнего горизонтов заносим ординаты бокового ребра.

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

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

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

Существует связь между скоростью работы алгоритма и детальностью его результата – ни один алгоритм не может достигнуть хороших показателей одновременно. Алгоритмы делятся на:

  1. Работающие в объектном пространстве (мировая ск, высокая точность). Сложность ~N2
  2. Работающие в пространстве изображений (ск связана с дисплеем, точность ограничена разрешающей способностью дисплея). Сложность ~N*M

N – количество объектов, M – количество пикселей. N2<N*M, но алгоритмы, работающие в пространстве изображений могут быть эффективнее в силу свойства когерентности при растровой реализации (близко расположенные пиксели чаще обладают одинаковыми свойствами).


Дата добавления: 2019-01-14; просмотров: 382; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!