Для реализации Cel Shading вычисляется скалярное произведение между нормалью поверхности(полигона) и источником света.
какой именно луч света, падающий на поверхность(полигон), используется для вычисления угла?
Для каждой точки поверхности этот луч свой. Соответственно для каждой точки можно рассчитать своё скалярное произведения луча на источник и нормаль.
Есть ещё так называемые карты нормали, когда на гладкую полигональную модель накладывают особый слой текстуры, каждая точка которой - это вектор нормали в соответствующей точке модели. Так можно гладкую коробку снабдить фактурой,
которая будет по-разному выглядеть при разном напр....
В этом случае у плоского полигона в каждой точке будет своя нормаль, и они все могут быть разные. Соответственно в каждой точке поверхности и направление на источник своё.
какая длина у вектора нормали полигона, от чего она зависит?
Ну по определению
нормаль - это прямая, перпендикулярная (в данном случае) поверхности. У прямой нет длины. А вот
вектор нормали - это уже единичный вектор. Технически ничто, наверно, не мешает ВЗЯТЬ не единичный, а вектор любой произвольной длины. Наверно можно даже придумать для чего бы это кому-то могло понадобиться. Если вам для чего-то нужно -- используйте.
Наверно интересно поиграться домножив вектора нормали на значения второй производной в соответствующих точках поверхности. Будет своеобразная мера кривизны поверхности в точке.