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

UptoLike

Рассмотрим теперь задачу построения полутонового изображения
графика функции z = f (x, y).
Как и ранее, введем сетку
{
(x
i
, y
j
), i = 1,...,n
1
, j = 1,...,n
2
}
и затем приблизим график функции набором треугольных граней с
вершинами в точках (x
i
, y
j
, f(x
i
, y
j
)).
Для удаления невидимых граней воспользуемся аналогичным
методом - упорядоченным выводом граней. Только в данном случае
треугольники будем выводить не по мере удаления от картинной плоскости,
а по мере их приближения, начиная с дальних и заканчивая ближними:
треугольники, расположенные ближе к плоскости экрана, выводятся позже
и закрывают собой невидимые части более
дальних треугольных граней.
Для определения порядка, в котором должны выводится грани,
воспользуемся тем, что треугольники, лежащие в полосе
{
(x, y), yyy
ii
+1
}
,
не могут закрывать треугольники из полосы
{
(x, y), yyy
ii
≤≤
1
}
.
Рис 3.1 Удаление невидимых линий методом плавающего горизонта
a=(x-
π)
2
+(y-π)
2
Z(x,y)=0.2*sin(x)*cos(y)-1.5*cos(7a/4)*e
-a
      Рассмотрим теперь задачу построения полутонового изображения
графика функции z = f (x, y).
      Как и ранее, введем сетку
      { (xi, yj), i = 1,...,n1, j = 1,...,n2 }
и затем приблизим график функции набором треугольных граней с
вершинами в точках (xi, yj, f(xi, yj)).
      Для удаления невидимых граней воспользуемся аналогичным
методом - упорядоченным выводом граней. Только в данном случае
треугольники будем выводить не по мере удаления от картинной плоскости,
а по мере их приближения, начиная с дальних и заканчивая ближними:
треугольники, расположенные ближе к плоскости экрана, выводятся позже
и закрывают собой невидимые части более дальних треугольных граней.
      Для определения порядка, в котором должны выводится грани,
воспользуемся тем, что треугольники, лежащие в полосе
      { (x, y), yi ≤ y ≤ yi +1 } ,
не могут закрывать треугольники из полосы
      { (x, y), yi −1 ≤ y ≤ yi } .




   Рис 3.1 Удаление невидимых линий методом плавающего горизонта
                           a=(x-π)2+(y-π)2
            Z(x,y)=0.2*sin(x)*cos(y)-1.5*cos(7a/4)*e - a