[OpenGL] 4. Transformations

scarleter99Β·2023λ…„ 4μ›” 13일
0

OpenGL

λͺ©λ‘ 보기
4/10

πŸ“Œ Transformations

Homogeneous Coordinates

  • n차원 μ’Œν‘œλ₯Ό n+1μ°¨μ›μœΌλ‘œ ν‘œν˜„ν•˜λŠ” 방식이닀.
  • PointλŠ” n+1 번째 Scalar에 1둜, VectorλŠ” 0으둜 λͺ…μ‹œν•œλ‹€.

Affine Space

  • Vector μ—°μ‚°μž
    • Scalar * Vector = Vector
    • Vector + Vector = Vector
    • Dot_Product(Vector, Vector) = Scalar
    • Cross_Product(Vector, Vector) = Vector
  • Point μ—°μ‚°μž
    • Point - Point = Vector
    • Point + Vector = Point
    • 0 * Point = 0(Zero Vector)

Linear Transformations

Translation

  • μ’Œν‘œλ₯Ό (dx,dy,dz)(d_{x}, d_{y}, d_{z})만큼 μ΄λ™μ‹œν‚¨λ‹€.

Rotation

  • μ’Œν‘œλ₯Ό 원점을 κΈ°μ€€μœΌλ‘œ ΞΈ\theta만큼 νšŒμ „μ‹œν‚¨λ‹€.

Scale

  • μ’Œν‘œλ₯Ό 각 μΆ• λ°©ν–₯으둜 (dx,dy,dz)(d_{x}, d_{y}, d_{z})λ°° ν™•λŒ€/μΆ•μ†Œν•œλ‹€.

Composite Transformation

  • ν•©μ„± λ³€ν™˜ μ‹œ Scale -> Rotation -> Translate 순으둜 λ³€ν™˜ν•œλ‹€.
    • xβ€²=T(R(S(p)))x' = T(R(S(p)))
  • 원점이 μ•„λ‹Œ 점을 κΈ°μ€€μœΌλ‘œ Rotation/Scale ν•  μ‹œ μ›μ μœΌλ‘œ Translate -> Rotation/Scale -> μ›λž˜ μœ„μΉ˜λ‘œ Translate 순으둜 μ§„ν–‰ν•œλ‹€.
profile
맀일 곡뢀

0개의 λŒ“κΈ€