그래픽스는
N (normal)
L (light)
이 두 백터의 내적에서 부터 시작해야 할것 같네요.
N은 물체의 방향, L은 빛의 방향을 뜻합니다.
둘다 방향만 있으면 되기에 크기가 1인 단위백터로 사용합니다.
백터의 내적은 각 성분끼리 곱의 합이지만 코사인 법칙에 의해
각 백터의 크기와 두백터의 코사인의 곱으로 표현 할 수 있어요.
|A| * |B| * cosθ
하지만 단위 백터의 크기는 1이므로 단위백터의 내적은
두백터의 코사인 값 그대로가 됩니다. (|A| * |B| 가 날라가서)
Cos은 두백터의 사이각이 클수록 작아지고 ,
사이각이 작을 수록 Cos 값은 커지므로
음영의 정도를 표현하기 딱인 값인거죠.
왜 딱인지 예를 들어 봅니다.
L을 손전등의 방향
N을 내 눈의 방향
으로 가정해 봅니다.
가장 눈부신 순간이 언제일까요?
손전등과 내눈이 서로 마주볼때가 되겠죠?
가장 눈이 부실때 상황을 백터로 생각해 보면
두백터는 서로 일직선이므로 사이각은 0에 가깝습니다.
반대로 손전등과 나의 시야의 각도가 벌어질 수록(커질수록) 우리의 눈은 덜 부시게 되고
급기야 90를 넘으면 거의 안보이게 되죠.
음영(Shade)은 어떤 물체가 빛의 세기를 받는 정도를 말하고,
N Dot L 은 그 음영을 표현하는 가장 기초적인 스칼라양이 됩니다.