본문 바로가기
Computer Science/Computer Graphics

Hierarchical Modeling

by Gofo 2021. 5. 31.

Hierarchical Modeling

Parent part에 대해서 subpart를 group으로 묶어서 tree 구조를 형성한다.

각 part는 자신의 reference frame(local frame)을 가지고 있다.

 

각 부분의 움직임은 parent reference frame에 대한 움직임으로 표현한다.

Child part(subpart)를 group으로 묶어서 한꺼번에 transformation 할 수 있다.

 

Articulated Body (다관절체)

= kinematic chain, linkage

 

Hierarchical model로 구성된 구조를 articulated body라고 한다.

Body가 여러개 있고 각 body들은 chain으로 연결되어 있다.

  • joint
    • 두 object의 연결
    • 연결된 child는 parent의 움직임을 따라간다.
  • link (= body) : joint 사이의 rigid object 
  • end effector : kinematic chain의 맨 끝단

 

Articulated body는 graph structure, 특히 tree structure로 표현된다.

각 node는 parent node의 frame에 대한 상대적인 transformation 으로 표현된다.

 

Scene Graph

Scene 전체를 표현할 때도 hierarchical model이 사용된다.

 


[OpenGL] Matrix Stack

OpenGL은 hierarchical structure의 object를 렌더링 하는 방법으로 matrix stack을 제공한다.

 

Current transformation matrix를 stack에 push한다.

Object들을 그린 후에 pop을 통해 다시 restore 될 수 있다.

 

Pop을 통해 parent의 transformation matrix를 복구할 수 있다.

Child의 sibling을 parent에 대해 표현할 수 있는 것이다.

 

함수

Current matrix는 stack의 top에 있는 matrix이다.

 

<pre>glPushMatrix()</pre>와 <pre>glPopMatrix()</pre>를 이용한다.

glPushMatrix가 호출된 횟수와 glPopMatrix가 호출된 횟수는 반드시 같아야 한다.

  • glPushMatrix() : current matrix를 stack에 push한다.
  • glPopMatrix() : stack에서 matrix를 pop한다.

 

예시

 


참고

본 포스트는 한양대학교 이윤상 교수님의 수업을 정리한 내용입니다.

출처: 한양대학교 이윤상 교수님 컴퓨터그래픽스 강의 강의자료 - https://cgrhyu.github.io/courses/2022-spring-cg.html

 

CGR LAB

Computer Graphics - 2022 Spring Instructor: Yoonsang Lee Teaching Assistant: Chaejun Sohn Undergraduate Mentor: Bokyoung Jang Time / Location: Mon 09:00-11:00 / Online (originally 207 IT.BT Building) - Lab Wed 09:00-11:00 / 508 IT.BT Building - Lecture Cou

cgrhyu.github.io

 

 

 

'Computer Science > Computer Graphics' 카테고리의 다른 글

3D Orientation Interpolation  (0) 2021.06.01
Orientation, Rotation  (0) 2021.06.01
Affine Transformation Matrix, Transformation의 해석  (0) 2021.05.31
[OpenGL] Lighting, Shading  (0) 2021.05.31
Shading  (0) 2021.05.31

댓글