script 제작(특히 expression제작)이나 vfx를 위해서는 수학이 필요성이 절실합니다. 최상위 실력자가 되려면 3d 수학을 필히 학습하세요. 국내에는 도서가 없읍니다. 가르쳐 주는 곳도 없읍니다.
3d 프로그램에서의 3×3 행렬의 의미
3d 프로그램은 공간에서 물체의 방향과 크기를 묘사하기 위해 3×3 행렬을 사용합니다.(단, 3d프로그램은 공간에서 물체의 위치를 묘사하기 위해, 4×4 행렬을 사용합니다.)
아래의 행렬은 3×3 단위 행렬입니다. 이 단위 행렬은 방향과 크기에 어떠한 변화도 발생하지않은 상태를 의미하는 행렬입니다. 이 단위 행렬을 가지고, 물체의방향과 크기 변화를 설명하겠습니다.
위 3×3 단위 행렬을 숫자들의 집합으로 생각하지 말고, 3d 프로그램(maya, xsi, Houdini)의viewport의 가장자리에있는 axis icon으로 일단 간주하세요.
위의 단위 행렬에서 맨 첫 번째 줄(즉, 1 0 0)은 x축을 의미하고, 두번째 줄(즉, 0 1 0)은 y축을 의미하고, 세 번째 줄(즉, 0 0 1)은 z축을 의미한다고 생각하세요. 그러면, 위의 단위 행렬은 아래와 같은 행태로 생각할 수 있습니다.
그래서, x축은 x축을따라서 1 unit의 위치에 있는 지점을 의미하고, y축은y축을 따라서 1 unit의 위치에 있는 지점을 의미하고, z축은 z축을 따라서 1 unit의위치에 있는 지점을 의미한다고 간주할 수 있습니다.
만약 axis icon의 크기가 모든 방향으로 두 배로 크기가 커졌다면, 각각의 축에 따라서 원래 위치의 2배가 되는 위치로 이동시키면 됩니다. 그러면 아래와 같이 작성할 수 있습니다.
아래 비디오 클립은 axis icon을 두 배로 키울 때, 화면의 왼쪽 상단 부분에서, 3×3 행렬의 값이 어떤 식으로 변화하는 지를 보여주고 있읍니다.
지금까지 object의 위치를 묘사하기 위해서 3×3 행렬이 사용되는 방식을설명하였습니다.
다음으로 object의 회전을 묘사하기 위해서, 3×3 행렬이 사용되는 방식을설명하겠습니다.
설명의 용이성을 위해서, 다시 단위 행렬을 가지고 설명하겠습니다. 즉, axis 아이콘을 y축을따라서 반 시계방향으로 회전한 경우를 생각해 보세요. 이 경우, 기존의x축은 –z축 방향을 향하게 되고, 기존의 z축은 +x축방향을 향하게 됩니다.
그러면, 각각의 축은 아래와 같이 변경이 되었다고 생각할 수 있읍니다.
시각화를 위해서 아래 비디오 클립을 삽입하였습니다. Axis icon을y축으로 반 시계방향으로 회전할 때, 화면의 왼쪽 상단 부분에서3×3 행렬의 값이 어떤식으로 변화하는 지를 보여주고 있읍니다.
지금까지는 object가 회전하거나 크기가 변경된 후에 3×3 행렬의 값이 어떤식으로 변경되는 지를 관찰했읍니다. 그러나, 만약 object의 상태를 묘사하는 행렬이 아래와 같은 경우를 생각해 보겠습니다.
위의 행렬을 이 post의 맨 위쪽에서 설명한 3×3 단위 행렬과 비교하여설명하겠습니다. 위 행렬의 맨 첫 번째 줄과 단위 행렬의 맨 첫 번째 줄은 서로 동일하기 때문에, 크기나 방향에 어떠한 변화가 없습니다.
위 행렬의 두 번째 줄과 단위 행렬의 두 번째 줄을 비교하면, 위행렬은 y축 방향이 거꾸로 되어서 아래쪽을 향하게 됩니다.
위 행렬의 세 번째 줄과 단위 행렬의 세 번째 줄을 비교하면, 위행렬은 z축 방향이 거꾸로 된 것을 알 수 있습니다.
위 행렬 상태를 얻을 수 있는 방법에는 2가지 방법들이 있습니다.
한 방법은 scale tool을 사용해, y축 방향과 z축 방향으로 거꾸로 scaling하는 방법입니다.
다른 또 하나의 방법은 x축을 중심으로 180도 회전시키면 됩니다.
이 2가지 방법들 중 어느 하나의 방법을 사용하더라도, 위의 행렬 상태를 얻게 됩니다.
|
2013년 2월 12일 화요일
3×3 행렬 maya scripting
2013년 1월 13일 일요일
2012년 11월 20일 화요일
Maya ncloth 단어정리
Resistance저항력
Stretch늘어나다
Compression압축
Bend굽히다,구부리다
dropoff 1. 깜빡 잠이 들다 2. 줄어들다
Angle각도
shear 1. (양의) 털을 깎다 2. (머리를) 깎다 3. (압력에 못 이겨) 부러지다; 전단(剪斷)하다
Restitution반환
tension긴장상태
collide 1. 충돌하다, 부딪치다 2. 충돌하다, 상충하다
collision 1. 충돌 (사고), 부딪침 2. (의견 등의) 충돌
self collide width scale 자동 충돌규모 폭
thickness두께,겹
Mass무게
Lift들리다,올라가다,양력(수직으로 받는 힘)
Drag끌다,힘들게 움직이다,(원치않는 곳에)가게하다
tangential관계없는,탄젠트,접선속도
damp축축한, 눅눅한
pressure 압박, 압력
output mesh(출력 메쉬)탭에서의 기능들
Threshold문지방,한계점
Blobby Radius Scale버블비 반지름 크기(ex:이건 water nParticle로 가능)
Motion Streak : Streak:1. <바탕을 이루는 부분과 색깔이 다른 기다란 줄 모양의 것>
2. (사람의 성격에서 특히 좋지 못한) 구석
3. (특히 스포츠・도박에서 성공・실패의) 연속
Mesh Triangle Size:Mesh의 삼각메쉬 사이즈의 크기를 조절
Max Triangle Resolution:매쉬의 최대 해상동
Mesh Method:매쉬의 방법
Mesh Smoothing Iterations:
Color per Vertex:
Opacity Per Vertex:
Incandescence Per Vertex
Velocity Per Vertex
UVw Per Vertex
Use Gradient Normals
modify>convert>nParticle to poly는
입자가 추가로 생성 되는 상태에서는 전환이 되지 않는다.
추가 되지 않고 그냥 원본에 있는 상태에서 전환이 가능하다.
Stretch늘어나다
Compression압축
Bend굽히다,구부리다
dropoff 1. 깜빡 잠이 들다 2. 줄어들다
Angle각도
shear 1. (양의) 털을 깎다 2. (머리를) 깎다 3. (압력에 못 이겨) 부러지다; 전단(剪斷)하다
Restitution반환
tension긴장상태
collide 1. 충돌하다, 부딪치다 2. 충돌하다, 상충하다
collision 1. 충돌 (사고), 부딪침 2. (의견 등의) 충돌
self collide width scale 자동 충돌규모 폭
thickness두께,겹
Mass무게
Lift들리다,올라가다,양력(수직으로 받는 힘)
Drag끌다,힘들게 움직이다,(원치않는 곳에)가게하다
tangential관계없는,탄젠트,접선속도
damp축축한, 눅눅한
pressure 압박, 압력
output mesh(출력 메쉬)탭에서의 기능들
Threshold문지방,한계점
Blobby Radius Scale버블비 반지름 크기(ex:이건 water nParticle로 가능)
Motion Streak : Streak:1. <바탕을 이루는 부분과 색깔이 다른 기다란 줄 모양의 것>
2. (사람의 성격에서 특히 좋지 못한) 구석
3. (특히 스포츠・도박에서 성공・실패의) 연속
Mesh Triangle Size:Mesh의 삼각메쉬 사이즈의 크기를 조절
Max Triangle Resolution:매쉬의 최대 해상동
Mesh Method:매쉬의 방법
Mesh Smoothing Iterations:
Color per Vertex:
Opacity Per Vertex:
Incandescence Per Vertex
Velocity Per Vertex
UVw Per Vertex
Use Gradient Normals
modify>convert>nParticle to poly는
입자가 추가로 생성 되는 상태에서는 전환이 되지 않는다.
추가 되지 않고 그냥 원본에 있는 상태에서 전환이 가능하다.
2012년 11월 5일 월요일
피드 구독하기:
글 (Atom)