12.06.18_MON
Houdini/SOP 2012. 7. 7. 04:00 |◎ 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을 가져온다.
'Houdini > SOP' 카테고리의 다른 글
12.06.25_MON (0) | 2012.07.11 |
---|---|
12.06.21_THU (0) | 2012.07.10 |
12.06.07_THU (0) | 2012.07.05 |
높은 지역에서만 파티클 날리기 (0) | 2012.07.04 |
ramp를 활용한 애니메이션 (0) | 2012.05.18 |