exam.hipnc
◎ Vector Normalize (벡터 정규화) 단위 벡터
vector의 normalize 방법 3가지
1. facet 노드의 Make Normals Unit Length.

2. normalize 익스프레션.
ex) point노드에서 normalize(vector3($NX, $NY, $NZ))[0]
※ [0]은 컴퍼넌트 (x 를 뜻함, [1]이면 y).

3. length 익스프레션.
ex) point 노드에서 1/length($NX, $NY, $NZ) * $NX

◎ Vector Add
두 벡터를 합하면 그 사이에 합한 벡터의 길이만큼의 벡터가 생긴다.


◎ Vector Subtract
$TX2 - $TX
$TY2 - $TY
$TZ2 - $TZ
ex) TX2는 $TX의 위치를 바라보게 된다.




sort 노드를 이용하며 포인트 넘버를 shift 하는 이유?
- 그것은 각각의 포인트들을 서로 subtract 하기 위해서이다.
◎ Dot Product
dot(vector3($NX, $NY, $NZ), vector3($NX2, $NY2, $NZ2))
# 이렇게 닷을 구하면 벡터의 그림자 길이를 구한다.

※ 각도 구하기(벡터와 벡터의 사이)
acos(dot(normalize(vector3($NX, $NY, $NZ), normalize(vector3($NX2, $NY2, $NZ2)))

※ Dot Product의 활용 예
dot(normalize(vector3($NX, $NY, $NZ), normalize(vector3($VX, $VY, $VZ))
# 이렇게 닷을 구하면 velocity가 향하는 닷을 구할 수 있다.



◎ Cross Product
- cross product는 vector 사이의 기준을 만듦(축)


# cross product 구하는 또 다른 공식
point sop의 normals에서...
x = $NX * $NZ2 - $NZ * NY2
y = $NZ * NX2 - $NX * $NZ2
z = $NX * $NY2 - $NY * $NX2
◎ point Expression

point 익스프레션 -> REFout에서 현재 진행중인 모든 포인트의 컬러값 중 R을 가져온다.