Transform Matrix(4x4) - hyeonju102/PARK GitHub Wiki

Transform Matrix의 μ •μ˜ 및 νŠΉμ§•

  • μœ„μΉ˜λ²‘ν„°μ—μ„œ 크기, νšŒμ „, μœ„μΉ˜λ³€ν™˜μ„ μœ„ν•΄ κ³±ν•΄μ§€λŠ” ν–‰λ ¬
  • Translation, Rotation, Scaling, Shearingκ³Ό 같은 λ³€ν™˜μ„ ν‘œν˜„ν•˜λŠ”λ° ν™œμš©

4x4 행렬을 μ‚¬μš©ν•˜λŠ” 이유

  1. λͺ¨λ“  λ³€ν™˜μ„ ν–‰λ ¬ μ—°μ‚°μœΌλ‘œ 톡합

3차원 κ³΅κ°„μ—μ„œμ˜ νšŒμ „, 이동, 크기 λ³€ν™˜μ€ 각각 λ‹€λ₯Έ ν–‰λ ¬λ‘œ ν‘œν˜„ν•  수 μžˆμ§€λ§Œ, 4x4 동차 행렬을 μ‚¬μš©ν•˜λ©΄ μ΄λŸ¬ν•œ λͺ¨λ“  λ³€ν™˜μ„ ν•˜λ‚˜μ˜ ν–‰λ ¬ κ³±μ…ˆμœΌλ‘œ ν‘œν˜„ν•˜κ³  μ‘°ν•©ν•  수 μžˆμ–΄ 계산이 κ°„κ²°ν•΄μ§‘λ‹ˆλ‹€.

  1. 원근 투영(Perspective Projection) κ΅¬ν˜„

원근 νˆ¬μ˜μ€ λ‚˜λˆ—μ…ˆ 연산이 ν•„μš”ν•œ λΉ„μ„ ν˜• λ³€ν™˜μΈλ°, 4차원 동차 μ’Œν‘œμ™€ 4x4 행렬을 μ‚¬μš©ν•˜λ©΄ 이λ₯Ό μ„ ν˜• λ³€ν™˜μ˜ ν˜•νƒœλ‘œ κ·Όμ‚¬ν•˜μ—¬ ν–‰λ ¬ κ³±μ…ˆμœΌλ‘œ μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  1. 점과 λ²‘ν„°μ˜ 톡합 ν‘œν˜„

동차 μ’Œν‘œκ³„μ—μ„œλŠ” 3차원 벑터에 'w'λΌλŠ” 값을 μΆ”κ°€ν•˜μ—¬ 점과 벑터λ₯Ό κ΅¬λΆ„ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 점은 (x, y, z, 1)둜, λ²‘ν„°λŠ” (x, y, z, 0)으둜 ν‘œν˜„ν•˜λ©°, 이λ₯Ό 4x4 ν–‰λ ¬λ‘œ κ³±ν•  λ•Œ λͺ¨λ‘ λ™μΌν•œ λ³€ν™˜ λ©”μ»€λ‹ˆμ¦˜μ„ μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  1. μΌκ΄€λœ μ’Œν‘œκ³„ 및 μ—°μ‚°

동차 λ³€ν™˜μ€ 3차원 μ’Œν‘œκ³„λ₯Ό 4μ°¨μ›μœΌλ‘œ ν™•μž₯ν•˜μ—¬, λ³€ν™˜ ν–‰λ ¬μ˜ 차원을 4x4둜 κ³ μ •ν•¨μœΌλ‘œμ¨ λͺ¨λ“  λ³€ν™˜μ΄ μΌκ΄€λœ λ°©μ‹μœΌλ‘œ 처리될 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.

  1. λ³€ν™˜μ˜ ꡬ성 및 λ°˜μ „ μš©μ΄μ„±

4x4 행렬은 λ³€ν™˜μ„ μ‰½κ²Œ κ΅¬μ„±ν•˜κ³ , 역행렬을 톡해 λ³€ν™˜μ„ λ°˜μ „ν•˜λŠ” 것도 μš©μ΄ν•˜κ²Œ λ§Œλ“€μ–΄ μ€λ‹ˆλ‹€.

image