Пример 14.4.1. Где заданный луч соударяется с заданной плоскостью?

В каком месте луч r(r) = (4,1, 3) + (-3, -5, -3) t соударяется с базовой плоскостью? Решение Результат решения уравнения (14.10): tk=-3/-3 = 1.

Точка соударения S + с = (1, -4,0). Отметим, что данная точка действительно лежит в плоскости z = 0.

14.4.2. Пересечение с базовой сферой В какой точке луч S + et пересекается со сферой, неявная форма которой задается уравнением (14.6)? Подставляя S+ et в уравнение F(P) = 0, получаем \S+ ct\2 -1 = 0 или (используя уравнение (4.13))':

|c|2ï2 + 2(5-c)r + (|5|2- 1)т0. (14.11)

Это квадратное уравнение относительно t вида At2 + 2Bt + С = 0, где А = |с|2, В = 5- с, (14.12) С-|5р-1.

Отметим некоторую вольность с обозначениями, предпринятую для компактности. 5 является точкой, а не вектором, поэтому технически ее нельзя использовать в скалярном произведении. Считайте обозначение |5|2 просто сокращенной записью выражения 5? +5„г +5.г.

Введение в трассировку лучей

Это уравнение решается с помощью формулы:

B_Jb2-AC * А А

Если дискриминант В2-АС отрицателен, то решений нет и луч проходит мимо (misses) сферы. Если дискриминант равен нулю, то луч касается (grazes) сферы в единственной точке, и время соударения равно -В/А. Если же дискриминант положителен, то существуют два времени соударения tl и t2, соответствующие знакам плюс и минус в уравнении (14.13).

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

Пример 14.4.2. Где луч пересекает базовую сферу?

В каком месте луч r(t) - (3,2,3) + (-3, -2, -3) г пересекает базовую сферу? Решение Из уравнения (14.12) получаем А - 22, В = -22, С-21. Уравнение (14.13) имеет решение г, = 0,7868 и t2 - 1,2132. Двумя точками соударения являются следующие:


⇐ Предыдущая| |Следующая ⇒