буфер кадра цветами, учитывая границы фигур.
Для заполнения Z-буфера определите параметры плоскости (a,c) каждого треугольника ax +
by + cz + d = 0† методом Ньюэла:
a = (y
i
- y
i+1
) * (z
i
+ z
i+1
)
b = (z
i
- z
i+1
) * (x
i
+ x
i+1
)
c = (x
i
- x
i+1
) * (y
i
+ y
i+1
).
При заполнении буфера по строке используйте формулу z := z - (a/c). Учитывайте границы
треугольников.
Рекомендация – загрузите проект «Z-буфер» из лекции 21.
Задача 7.
Рассчитайте освещенность точки (10,10,10) на отшлифованной серебряной пластинке,
параллельной плоскости XOZ координат, которую освещает источник синего цвета силой
100, находящийся в точке (30,30,10). Атмосферу не учитывать. На сколько отличается
освещенность этой точки от освещенности точки на краю пластины (-10,10,10)?
Поскольку пластина металлическая и отшлифована, то отражение зеркальное. Длина
волны синего света = 2нм. Угол падения луча находится в плоскости XOY и составляет
(30-10)/(30-10)=tg(a), a=45град..
Формула Б.-Т. Фонга для расчета освещенности I
s
= I
l
* w(i, ) * cos
n
,
где I
s
†- интенсивность света, попавшего в глаз наблюдателя, I
l
†- интенсивность падающего
света, равна 100, w(i,) - кривая отражения, представляющая отношение зеркально
отраженного света к падающему как функцию угла падения i и длины волны ,
коэффициенты 0,2 и 0,9 (см.рис.24.3 электронных лекций), †- угол между направлением
света и нормалью к поверхности, равен 45 град., n†- степень, аппроксимирующая
пространственное распределение зеркально отраженного света, 5.
Так как для угла падения (30-10)/(30-10))=20/20=1,
Поскольку a=45 град, то и угол падения равен 45 град.. Тогда освещенность точки
I
s
= 100 * 0,2*0,9 * cos
5
=3.24, так как cos(45)=0,71 и cos
5
= 0.18 .
Во втором случае (30-10)/(30-(-10))=20/40=0,5,
угол падения = pi/2 – arctg(0.5) = 1.107 рад.
cos(1.107)=0.45
cos
5
(1.107)=0.018
I
s
= 100 * 0,2*0,9 * cos
5
=0,324.
Очевидно, что освещенность уменьшилась в 10 раз. Данный результат характерен для
отражения света на металле, так как пятно освещенности сфокусировано в небольшой