ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Modeling Transformation
    그래픽스 2021. 10. 20. 13:09

    오브젝트를 변환

    • 물체들은 자신만의 좌표계를 가지고 있다.
    • 한 씬에 여러개의 물체를 사용할 수 있다.

    Basic 2D 변환

    Translation 좌표이동

    • x’ = x + tx
    • y’ = y + ty

    Scale 크기변환

    • x’ = x * sx
    • y’ = y * sy

    Shear 찌그리기

    • x’ = x + hx * y
    • y’ = y + hy * x

    Rotation 회전

    • x’ = x * cosθ - y * sinθ
    • y’ = x * sinθ + y * cosθ

    행렬 표현

    2 x 2 행렬 표현

    2D

    2D의 스케일 값(0,0을 기준)

    2D의 회전값(0,0을 기준)

    2D의 Shear 값

    2D Mirror Y축 반전

    2D Mirror (0,0) 반전

    2D 이동

    없다.

    왜냐하면 2x2에서 이동은 표현이 안되고, 덧셈 밖에 표현이 안되기 때문에 행렬식이 없다.

    선형 변환(Linear Transformations)

    • Scale
    • Rotation
    • Shear
    • Mirror (=Reflection)

    선형 변환의 특징

    • 원점을 원점으로 매핑
    • 라인은 라인에 이동됩니다.
    • 평행선은 평행이 유지된다.
    • 비율이 유지됩니다.
    • 다른 변환과 결합이 가능하다.

    이동은 포함이 안된다.

    homogeneous coordinate 동차 좌표

    동차 좌표를 이용해서 2D 이동을 표현할 수 있다.

    3 x 3을 이용해서 할 수 있다.

    • (x, y, w) 위치의 점(x/w, y/w)을 나타냅니다.
    • (x, y, 0)는 무한대를 나타낸다.
    • (0, 0, 0)은 사용되지 않는다.

    2D 행렬을 3 x 3으로 표현한 것

    Affine Transformations

    Linear Transformations + Transformations 이 추가된 것이다.

    특징

    • 원점으로 이동하지 못하다
    • 라인은 라인에 이동됩니다.
    • 평행선은 평행이 유지된다.
    • 비율이 유지됩니다.
    • 다른 변환과 결합이 가능하다.

    Projective Transformations (투사 변환)

    3D -> 2D 바꾸기

     

    Pinhole camera() model

    가운데 빨간 점이 구멍이 뚤러서, 이 쪽에서 상을 쏘면, 바깥으로 상이 보인다.

    Projective Transformations

    Affine transformation + Projective warps

    • 평행선이 더이상 평행이 아니다. 굴곡이 있기 때문이다.
    • 비율이 유지되지 않는다.
    • 원점으로 이동하지 못하다
    • 다른 변환과 결합이 가능하다.
    • 라인은 라인에 이동됩니다.

    Perspective 원근법이 들어가 있다.

    행렬을 쓰는 이유

    빠른 수정이 가능하다.표현하기 쉽다.

    주의점

    행렬 곱은 교환법칙이 안된다.A x B != B x A이다.

    행렬에서는 순서가 중요하다

    임의의 (a,b)를 기준으로 회전, 크기를 변형할 때 

    1) 임의의 점 (a,b)을 원점으로 옮긴다.

    2) 회전 혹은 스케일 을 변형

    3) 다시 (a,b)로 움직인다.

    3차원

    3차원은 (x,y,z,w)이다

    3차원은 4 x 4 행렬이다.

    기본적인 3차원 좌표

    3차원 회전

    회전에도 교환 법칙이 성립되지 않는다.

    원점을 지나는 임의의 축 a

    만약 임의의 축 a를 기준으로 b만큼 회전하고 싶으면??

    1) 기본축(z)으로 일치 시킨다.

    2) z축으로 b만큼 회전시킨다.

    3) 원래 방향으로 복귀시킨다.

    변환 계층

    만약, 제일 밑의 원통이 움직이면, 이 로봇 팔 전체가 움직여야 한다. 이 구조는 tree구조로 만든다.

    변환의 예)

     

    '그래픽스' 카테고리의 다른 글

    3D Object  (0) 2021.11.01
    3D 렌더링  (0) 2021.10.25
    Image  (0) 2021.09.29
    Color  (0) 2021.09.27
    Graphics System  (0) 2021.09.13

    댓글

Designed by Tistory.