HICko/SOP

Houdini_basic_class 05/15_("Vector")

Allan Min 2016. 5. 17. 21:48


1/sqrt(@N.x^2+@N.y^2+@N.z^2)*vector3(@N.x,@N.y,@N.z)[0]

1/sqrt(@N.x^2+@N.y^2+@N.z^2)*vector3(@N.x,@N.y,@N.z)[1]

1/sqrt(@N.x^2+@N.y^2+@N.z^2)*vector3(@N.x,@N.y,@N.z)[2]


normalize(vector3(@N.x,@N.y,@N.z))[0]

normalize(vector3(@N.x,@N.y,@N.z))[1]

normalize(vector3(@N.x,@N.y,@N.z))[2]


1/length(@N.x,@N.y,@N.z)*@N.x

1/length(@N.x,@N.y,@N.z)*@N.y

1/length(@N.x,@N.y,@N.z)*@N.z


1/length($NX,$NY,$NZ) * vector3($NX,$NY,$NZ)[0] : 스칼라 * 벡터 (normal X 방향의 값)
1/length($NX,$NY,$NZ) * vector3($NX,$NY,$NZ)[1] : 스칼라 * 벡터 (normal Y 방향의 값)
1/length($NX,$NY,$NZ) * vector3($NX,$NY,$NZ)[2] : 스칼라 * 벡터 (normal Z 방향의 값)

facet 의 Make Normals Unit Length : 들어온 normal 의 길이값을 1을 기준으로 사이즈를 변환. (1 값이 최대치)

normalize(vector3($NX,$NY,$NZ))[0] : normalize = 1/sqrt(@N.x^2+@N.y^2+@N.z^2) = 1/length($NX,$NY,$NZ) = 스칼라
normalize(vector3($NX,$NY,$NZ))[0] : 
normalize(vector3($NX,$NY,$NZ))[0] :


http://cafe.naver.com/houdinifx/741 -출처

@N.x + @N2.x

@N.y + @N2.y

@N.z + @N2.z


@P.x + ch(multn)*@N.x

@P.y + ch(multn)*@N.y

@P.z + ch(multn)*@N.z


@P2.x - @P.x

@P2.y - @P.y

@P2.y - @P.y


acos(dot(normalize(vector3(@N.x,@N.y,@N.z)),normalize(vector3(@N2.x,@N2.y,@N2.z))))


ch(multn)*normalize(vector3(@N2.x,@N2.y,@N2.z))[0]

ch(multn)*normalize(vector3(@N2.x,@N2.y,@N2.z))[1]

ch(multn)*normalize(vector3(@N2.x,@N2.y,@N2.z))[2]


ch(multn)*@N2.x

ch(multn)*@N2.y

ch(multn)*@N2.z


(@N.x*@N2.x+@N.y*@N2.y+@N.z*@N2.z)/length(@N2.x,@N2.y,@N2.z)^2


@N.x-@N2.x

@N.y-@N2.y

@N.z-@N2.z


cross(vector3(@N.x,@N.y,@N.z),vector3(@N2.x,@N2.y,@N2.z))[0]

cross(vector3(@N.x,@N.y,@N.z),vector3(@N2.x,@N2.y,@N2.z))[1]

cross(vector3(@N.x,@N.y,@N.z),vector3(@N2.x,@N2.y,@N2.z))[2]


@N.y*@N2.z-@N.z*@N2.y

@N.z*@N2.x-@N.x*@N2.z

@N.x*@N2.y-@N.y*@N2.x