Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по КГ.doc
Скачиваний:
0
Добавлен:
28.12.2019
Размер:
778.24 Кб
Скачать

Нахождение точки пересечения прямой и плоскости

Рассмотрим параметрическое представление отрезка [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 – невидим.

Плоскость Способы задания плоскости

Положение плоскости в пространстве можно определить:

  1. тремя точками, не лежащими на одной прямой;

  2. прямой и точкой вне ее;

  3. двумя пересекающимися или параллельными прямыми;

  4. точкой и вектором, перпендикулярным плоскости;

  5. многоугольником.

Задание плоскости точкой 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 по всем точкам.