본문 바로가기
Computer Science/Computer Graphics

Affine Frame

by Gofo 2021. 3. 23.

Coordinate-free (Coordinate-invariant)

Coordinate-free는 좌표계와 상관 없이 동일하게 동작하는 개념이다.

point와 vector의 개념을 사용한다.

  • points
    • 특정한 좌표계 위에서의 위치를 의미한다.
    • location in space
  • vector
    • 두 개의 points의 차이를 나타낸다.
    • displacements in space

 

origin이 정해지면 point는 origin으로부터의 vector로 표현될 수 있다.

그러나 여전히 좌표가 달라질 수 있기 때문에 coordinate-free하지는 않다.

 

coordinate-invariant에서는 point sum을 할 수 없다.

예를 들어, 두 point의 합은 원점이 어디인지에 따라, 즉 좌표계에 따라 위치가 달라진다.

 

Coordinate-Free Geometric Operation

다음과 같은 operation이 coordinate-free operation이다.

  • Addition
  • Subtraction
  • Scalar multiplication

 

$c \cdot point$가 정의되려면 원점이 정의되어야한다.

그러나 원점이 어디인지에 따라서 point의 위치가 달라지므로, coordinate-free가 아니다.

 

 


Vector Space and Affine Space

Vector space

Vector와 vector에 관련된 연산으로 이루어진 공간이다. Point는 포함하지 않는다.

 

Set of vectors와 두 개의 연산으로 구성된다.

연산에는 vector와 vector의 합, vector와 scalar의 곱이 있다.

 

이 연산들의 결과도 vector space에 포함된다.

따라서 vector의 linear combination도 vector이다.

 

$\textbf{u_0} , \textbf{u_1} ,... \textbf{u_N} \in V \Rightarrow c_o \textbf{u_0} + c_1 \textbf{u_1} + ... + c_N \textbf{u_N} \in V$

 

Affine space

Vector space에 point를 포함한다. vector, point, 그와 관련된 연산들로 이루어져있다.

연산들에는 vector space의 연산에 point와 point의 차, vector와 point의 합이 포함된다.

 


Affine Frame

Frame은 다음으로 이루어진다.

  • set of vector $\{ \textbf{v}_i | i=1,...,N \}$
    • $\{ v_i \}$는 basis vector들로 이루어진 vector space
    • basis vector의 수(N)에 따라서 몇차원인지 정의된다.
    • 만약, 3차원이라면 1개의 origin과 3개의 basis vector set으로 이루어진다.
  • point $\textbf{o}$(origin, 원점)
    • $\textbf{o}$는 frame의 origin point(원점)이다.

 

임의의 point p와 임의의 vector v을 표현할 수 있다.

이를 이용하면 모든 위치에 대해 표현할 수 있다.

$p = o + c_1 \textbf{v_1} + c_2 + \textbf{v2} + ... + c_N \textbf{v_N}$

$\textbf{v} = c_1 \textbf{v_1} + c_2 \textbf{v2} + ... + c_N \textbf{v_N}$

 

Vector는 원점이 정의되어 있지 않으므로 위치에 대한 정보는 없고, 원점으로부터 얼만큼 가는지에 대한 정보를 담고 있다.

 

 


Homogeneous Coordinates와 Point, Vector

Homogeneous coordinate은 point, vector, affine space에 완전히 부합한다.

즉, homogeneous coord는 affine frame coordinates의 consistent model이다.

 

Homogeneous coord에서 point는 $(x, y, z, 1)$로, vector는 $(x, y, z, 0)$으로 표현된다.

 

 


참고

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

출처: 한양대학교 이윤상 교수님 컴퓨터그래픽스 강의 강의자료 - 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' 카테고리의 다른 글

Mesh, OBJ File  (0) 2021.04.08
Rendering Pipeline, Transformation Pipeline  (0) 2021.04.07
[OpenGL] Transformation Matrix  (0) 2021.03.23
Transformation in 3D  (0) 2021.03.16
Transformation in 2D  (0) 2021.03.16

댓글