Методическое пособие по курсу "Интерактивные графические системы". Найханов В.В - 47 стр.

UptoLike

Пусть многогранная поверхность задана своими вершинами. Тогда
векторы, определяющие направления приближенных внешних нормалей в
ее вершинах можно найти, используя векторные произведения,
построенные на векторах, идущих вдоль ребер, исходящих из
соответствующих вершин. Например, для того, чтобы определить внешнюю
нормаль в вершине
V
1
, необходимо сложить векторные произведения
V
1
V
2
×
V
1
V
3
, V
1
V
3
×
V
1
V
4
, V
1
V
4
×
V
1
V
2
.
Замечание
Если перед сложением найденные векторные произведения пронормировать, то
полученная сумма будет отличаться от предыдущей и по длине, и по
направлению.
Для отыскания направления вектора отражения напомним, что
единичные векторы - падающего света
l, нормали к поверхности n и
отражения
r лежат в одной плоскости, причем угол падения равен углу
отражения.
Рассмотрим модель освещения с одним точечным источником и
предположим, что свет падает вдоль оси
Z. Тогда координаты единичного
вектора отражения
r = (r
x
, r
y
, r
z
)
определяются по формулам
r
x
= 2n
x
n
z
,
r
y
= 2n
y
n
z
,
r
z
= 2n
2
z
- 1,
где n = (n
x
, n
y
, n
z
) - единичный вектор нормали к поверхности.
Если же свет от источника падает не по оси аппликат, то проще всего
поступить так: выбрать новую координатную систему так, чтобы ее начало
совпадало с рассматриваемой точкой, касательная плоскость к поверхности
была плоскостью
ху, а нормаль к поверхности в этой точке шла вдоль оси Z.
В этой новой системе координат векторы
r и l будут связаны
соотношениями
r
x
= -l
x
, r
y
= -l
y
, r
z
= l
z
.
Для того чтобы получить исходные координаты вектора отражения,
необходимо выполнить обратное преобразование.
Рассмотрим произвольную сцену, составленную из полигональных
(многогранных) фигур. Простейший способ ее построения заключается в
том, что на каждой из граней выбирается по точке, для нее определяется
освещенность, и затем вся грань закрашивается с использованием
найденной освещенности. Предложенный
алгоритм обладает, однако, одним
большим недостатком - полученное изображение имеет неестественный
многогранный вид. Это объясняется тем, что определяемая подобным
образом освещенность сцены не является непрерывной величиной, а имеет
кусочно-постоянный характер.
Существуют специальные методы закрашивания, позволяющие
создавать иллюзию гладкости.
     Пусть многогранная поверхность задана своими вершинами. Тогда
векторы, определяющие направления приближенных внешних нормалей в
ее вершинах можно найти, используя векторные произведения,
построенные на векторах, идущих вдоль ребер, исходящих из
соответствующих вершин. Например, для того, чтобы определить внешнюю
нормаль в вершине V1, необходимо сложить векторные произведения
           V1V2 × V1V3, V1V3 × V1V4, V1V4 × V1V2.
Замечание
      Если перед сложением найденные векторные произведения пронормировать, то
      полученная сумма будет отличаться от предыдущей и по длине, и по
      направлению.


      Для отыскания направления вектора отражения напомним, что
единичные векторы - падающего света l, нормали к поверхности n и
отражения r лежат в одной плоскости, причем угол падения равен углу
отражения.
      Рассмотрим модель освещения с одним точечным источником и
предположим, что свет падает вдоль оси Z. Тогда координаты единичного
вектора отражения
      r = (rx, ry, rz)
определяются по формулам
      rx = 2nx nz,
      ry = 2ny nz,
      rz = 2n2z - 1,
где n = (nx, ny, nz) - единичный вектор нормали к поверхности.
      Если же свет от источника падает не по оси аппликат, то проще всего
поступить так: выбрать новую координатную систему так, чтобы ее начало
совпадало с рассматриваемой точкой, касательная плоскость к поверхности
была плоскостью ху, а нормаль к поверхности в этой точке шла вдоль оси Z.
В этой новой системе координат векторы r и l будут связаны
соотношениями
      rx = -lx, ry = -ly, rz = lz.
      Для того чтобы получить исходные координаты вектора отражения,
необходимо выполнить обратное преобразование.
      Рассмотрим произвольную сцену, составленную из полигональных
(многогранных) фигур. Простейший способ ее построения заключается в
том, что на каждой из граней выбирается по точке, для нее определяется
освещенность, и затем вся грань закрашивается с использованием
найденной освещенности. Предложенный алгоритм обладает, однако, одним
большим недостатком - полученное изображение имеет неестественный
многогранный вид. Это объясняется тем, что определяемая подобным
образом освещенность сцены не является непрерывной величиной, а имеет
кусочно-постоянный характер.
      Существуют специальные методы закрашивания, позволяющие
создавать иллюзию гладкости.