카테고리 없음

Computer Graphics

say! 2024. 4. 24. 23:47

2DAffineTransformation

WhatisTransformation?

LinearTransformation,Translation

AffineTransformation

 

Composing Transformations&Homogeneous Coordinates

ComposingTransformations

HomogeneousCoordinates

 

3DAffineTransformations

3DCartesianCoordinateSystem

Transformationsin3D

 

#2D linear transformation

-uniform scale

non-uniformscale

rotation

shear

reflection

 

#Generating eye rays

-orthographic : plane point만 계산하면 됨

-perspective : distance가 중요함=카메라의 focal length초점거리

 

##Reference  Frame  &  Composite 
Transformations
# Coordinate  System  &  Reference  Frame

-coordinate system : 점의 위치를 고유하게 표현, mathematical 개념

-reference frame : 좌표 시스템 +  physical reference points (좌표 시스템을 고유하게 고정하기 위해), physical 개념, motion의 상태와 관련

위 2가지는 자주 섞여서 사용됨


# Global  &  Local  Coordinate  System(or Frame)

-global coordinate system (global frame) = world coordinate system, fixed coordinate system

R to L, left multiplication

-local coordinate system (local frame) : moving object

L to R, right multiplication


# Interpretation  of  Composite  Transformations


#Affine  Geometry: Vectors  &  Points

-vector space : vectors, related operations(덧셈, 곱셈) 포함 / no points

-affine space : vectors, related operations(difference between two points, addition of a vector to a point), point도 포함

 

HomogeneouCoordinates로 3D에서 point는 (x, y, z, 1), vector는 (x, y, z, 0)

scalar*vector = vector

1*point = point

0*point = vector

c*point = undefined(c가 0, 1아닐 경우)

point + point = undefined

point - point = vector

point+-vector = point

vector+-vector = vector

 

-vector는 offsets point는 location 갖고 있음 / point는 traslation평행이동 가능한데 vector는 X

 

#Affine Frame : vector들 집합이랑 point o로 정의

set of vectors : associate vector space

-3D에서 vector 3개(x, y, z), point 1개(origin)로 정의

-global frame : standard basis vector 나타냄 = 단위벡터

 

#Rigid motion : translation이랑 rotation으로만 만들어짐

 

#Abstract version of hardware pipeline

1)application : points, line segments, triangles / curves, polygons, curved regions

2)vertex processing

-backward approach to viewing : ray tracing에 사용한 방법, pixel부터 시작 / forward approach 3D에서의 point부터 시작

matrix transformation 사용

-modeling matrix  Mm :

local 좌표계에 있던 객체를 world 좌표계로 transform하는 것

-camera matrix = viewing matrix Mv:

camera transformation : word space에서 camera space=view space=eye space로 

>OpenGL은 modeling matrix랑 camera matrix섞음 M = Mv*Mm

-projection 원근법

항상 eye좌표계에서 일어남, eye point at 0은 plane perpendicular수직의 z

orthographic case 정사영 : z 사용X

parallel projection : oblique - shear하고 z 버리기

 

perspective case : scale diminish with z + increase with d

windowing transform : 먼저 원점으로 이동 > viewport 사이즈와 동일하게 scale > viewport 위치로 이동

*window는 보여질 부분 정의, viewport는 어디에 표시될지 정의

viewport transformation

 

3D에서 

 

#orthographic projection :

-z view direction 가짐 / left, right, top, bottom, near, far

view volume이랑 canonical view volume이랑 mapping 3D windowing transformation

 

객체의 local 좌표부터 시작 > world 좌표로 transform(modeling transform Mm) > eye 좌표로(camera) > Orthographic projection > viewport transform

 

clipping plane : near plane(view plane에 평행, view plane이랑 viewpoint 사이에 있는 건 render되지 않음), far plane(view plane에 평행, 뒤에 있는 건 render되지X) > camera 뒤에 있는 건 제거함, constrain the range of depths

 

#perspective projection

 

 

 

#영단어

perpendicular 직각의, 수직의

Euclidean 유클리드, 기하학의

diagonal matric 대각선 행렬

orthonormal matrix 직교 행렬

translation 평행이동

axe 축

cartesian 데카르트의

parametric equation 매개 방정식

focal length 초점 거리