color = 64 + (int)( 20 + 43 * ( n & e3 ) / !n );
}
else { color = 63;
color = (int)( 20 - 43 * ( n & e3 ) / !n );
}
setfillstyle ( SOLID_FILL, color); setcolor (color); facet [0] = curLine 0+1]; facet [1] = nextLine [j]; facet [2] = nextLine 0+1]; fillpoly ( 3, (int far *) facet);
}
for (j = 0; j < n1;j++ ) {
curLine 0] = nextLine [j]; curPoint [j] = nextPoint 0];
}
}
delete curLine; delete nextLine; delete curPoint; delete nextPoint;
}
double f2 (double x, double y) {
double r = x*x + y*y; return cos (r) / (r + 1 );
}
main () int driver;
int mode = 2; // suggested mode 640x480x256
int res;
if ((driver = installuserdriver ("VESA", NULL)) == grError) { printf ("\nCannot load VESA driver"); exit ( 1 );
}
initgraph ( &driver, &mode,M"); if ((res = graphresult ()) != grOk ) { printf("\nGraphics error: %s\n", grapherrormsg (res));

Компьютерная графика. Полигональные модели

}

ехК ( 1 );

}

р1от8пас!ес!$и1тасе (-2, -2, 2, 2, \2, -0.5, 1, 30, 30 ); дехсЬ (); сЬБедгарЬ ();

10.2. Методы оптимизации

Отсечение нелицевых граней

10.2.1. Отсечение нелицевых граней Рассмотрим многогранник, для каждой грани которого задан единичный вектор внешней нормали (рис. 10.11). Несложно заметить, что если вектор нормали грани п составляет с вектором /, задающим направление проектирования, тупой угол (вектор нормали направлен от наблюдателя), то эта грань заведомо не может быть видна (рис. 10.12). Такие грани называются нелицевыми. Если соответствующий угол является острым, грань называется лицевой.

При параллельном проектировании условие на угол можно записать в виде неравенства (п, I) < 0, поскольку направление проектирования от грани не зависит.

При центральном проектировании с центром в точке с вектор проектирования для точки р будет равен / = с-р.

Для определения того, является заданная грань лицевой или нет, достаточно взять произвольную точку р этой грани и ггроверить выполнение условия (п, I) < 0.

Знак этого скалярного произведения не зависит от выбора точки на грани, а определяется тем, в каком полупространстве относительно плоскости, содержащей данную грань, лежит центр проектирования.


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