
- •Метод проекций Проецирование. Отображение геометрического объекта на плоскости
- •Дополнение евклидова пространства.
- •Модели координатных плоскостей проекций.
- •Проекции точки.
- •Прямая. Задание прямой линии.
- •Различные положения прямой линии относительно плоскостей проекций
- •Взаимное расположение точки и прямой
- •О пределение длины отрезка прямой и угла ее наклона к плоскости проекции
- •Взаимное расположение двух прямых линий
- •Вычерчивание прямых линий
- •1. Real (без целочисленной арифметики)
- •2. Real-integer (промежуточный алгоритм)
- •3. Integer (алгоритм Брезенхема, 1965 г.)
- •Пересечение прямой и плоскости, видимость прямой
- •Нахождение точки пересечения прямой и плоскости
- •Определение видимости отрезка относительно наблюдателя
- •Плоскость Способы задания плоскости
- •Различные положение плоскости относительно плоскостей проекций
- •Прямые линии и точки, расположенные в данной плоскости
- •Главные линии плоскости
- •Взаимное расположение прямой линии и плоскости
- •2. Прямая параллельная плоскости.
- •3. Прямая, пересекающая плоскость.
- •4. Прямая, перпендикулярная плосоксти.
- •Взаимное расположение двух плоскостей
- •1. Параллельные плоскости.
- •2. Пересекающиеся плоскости
- •3. Взаимно перпендикулярные плоскости
- •Пересечение прямой и плоскости, видимость прямой
- •Нахождение точки пересечения прямой и плоскости
- •Определение видимости отрезка относительно наблюдателя
- •Многогранники Основные понятия. Образование поверхностей некоторых многоугольников
- •Проекции многогранников. Видимость ребер.
- •Пересечение многоугольника плоскостью и прямой.
- •Взаимное пересечение многогранников.
- •Видимость ребер многогранника
- •Однородные координаты и геометрические преобразования Однородные координаты и их особенности
- •О преобразованиях и однородных координатах
- •2. Растяжение (сжатие) вдоль координатных осей
- •3. Отражение относительно оси
- •Перспективное изображение.
Нахождение точки пересечения прямой и плоскости
Рассмотрим параметрическое представление отрезка [P1P2]
,
или
,
где
V – вектор точки на отрезке,
S – начальная точка,
d – направление отрезка,
t – параметр.
А так как скалярное произведение точки на параметры плоскости равно "0", когда точка принадлежит плоскости, то
Решение этого уравнения относительно t дает точку пересечения, и исходя из
находим соответствующие координаты x,y,z точки пересечения.
Определение видимости отрезка относительно наблюдателя
З
а
направление плоскости возьмем такое,
при котором скалярное произведение ее
на точку наблюдения дает положительный
результат. Если после определения
коэффициентов плоскости (например,
методом Ньюэла) скалярное их произведение
на точку наблюдения
,
расположенную в бесконечности на
положительной полуоси Z
дает "-", то необходимо умножить
коэффициенты плоскости на "-1".
Такое направление нормали плоскости позволяет использовать следующее правило для определения видимости концов отрезка: если скалярное произведение конца отрезка на столбец коэффициентов плоскости положительно, то эта вершина видима.
* Если
скалярное произведение
,
то исходная плоскость является фронтально
- проецирующей.
Пример
З
аданы:
- плоскость
или
,
или
,
т.е.
- отрезок [P1P2], где P1=[1, 0, 2, 1], P2=[-1, 0, -2, 1].
1. Проверка уравнения плоскости на направление нормали в сторону наблюдателя.
2. Нахождение точки пересечения прямой и плоскости
,
=>
– точка пересечения
3. Определение видимости концов отрезка
=> P1
– видима
=> P2
– невидим.
Плоскость Способы задания плоскости
Положение плоскости в пространстве можно определить:
тремя точками, не лежащими на одной прямой;
прямой и точкой вне ее;
двумя пересекающимися или параллельными прямыми;
точкой и вектором, перпендикулярным плоскости;
многоугольником.
Задание
плоскости точкой
A и вектором
,
перпендикулярным плоскости
содержит наименьшую, но достаточную
информацию о положении плоскости –
всего 6 чисел: координаты точки A
и вектора
.
В
екторное
уравнение плоскости можно получить в
виде скалярного произведения
,
где
– радиус-вектор произвольной точки M
плоскости ,
а
– вектор, принадлежащий плоскости
и ортогональный вектору
.
Выразив множители скалярного произведения
через их компоненты, получим:
Это линейное относительно координат x, y, z уравнение можно преобразовать в виду
(1)
Если плоскость задана тремя точками (xA, yA, zA), (xB, yB, zB), (xC, yC, zC), то уравнение плоскости можно получить, подставляя эти точки в уравнение (1).
нормализуя относительно d,
получим
или
или
,
откуда
.
Поскольку объем вычислений во многих алгоритмах машинной графики растет с увеличением числа многоугольников, то для описания плоскостей выгодно использовать многоугольники с больше чем тремя сторонами. Эти многоугольники могут быть как невыпуклыми, так и неплоскими. Рассмотрим метод, позволяющий найти как точное решение для уравнений плоскостей, содержащих плоские многоугольники, так и наилучшее приближение для неплоских многоугольников. Этот метод эквивалентен определению нормали в каждой вершине многоугольника посредством векторного произведения прилежащих ребер и усреднения результатов:
Где если i=n, то j=1, иначе j=i+1, а d вычисляется с помощью любой точки на плоскости d = –(axi+byi+czi). Для получения лучших результатов для неплоских многоугольников можно вычислить усредненное значение d по всем точкам.