728x90
반응형

선형성 5

게임물리 - 회전

물론 내가 선형대수학을 공부할 때 회전변환을 공부하였다. [Game Developer, 게임개발자/게임 수학,물리] - 선형변환, Linear Transformation - 회전변환, 로드리게스 회전 공식 [게임수학] [Game Developer, 게임개발자/게임 수학,물리] - 선형변환, Linear Transformation - 회전변환, 로드리게스 회전 공식 [게임수학] 하지만 렌더링에서 좌표자체를 회전변환시켜 구현한다는 것이 아니라 다른 방법을 알아보고자 한다. 알아보자 분명 회전변환 식이 이렇다. 세타만큼 회전하고 싶다면 해당 좌표를 넣어 값을 얻으면 될 것이다. 하지만 변환된 좌표를 얻으려면 2차원의 경우 곱셈 2번과 합연산 1번을 2번을 해야 각각 변환된 x' , y' 이 나올 것이다. 픽셀..

Linear Transformation, 선형변환들의 조합, 행렬곱 [게임수학]

지난 시간에 회전, 크기를 배워봤으니 섞여 있으면 어떻게 되는지 살짝 보고 행렬의 곱 또한 알아보자 선형 변환이 섞일 수 있는 이유는 선형 변환 후에도 선형성을 유지하기 때문이다. S를 적용해도, T를 적용해도 같다. 와 신기하다. 그렇다. 그렇다면 S는 m차원에서 n차원으로 T는 n차원에서 p차원으로 변환한다고 치자. 즉, 각 공간들이 가지는 기저벡터들을 표현해보면 이렇게 나타낼 수 있다. 그렇다면 T를 한번 생각해보자 n->p로?? 뭐 이런 식으로 나올 것이다. T자체가 n차원을 p차원으로 옮기는 것이니까 당연히 결과로 나온 벡터는 p개일 것임은 당연하다. S 또한 그렇겠지? n개를 가진다. 하지만 우리가 배우는 것은 S 따로, T 따로가 아닌 합쳐졌을 때가 궁금하다. 합쳐진다면 어떻게 표현해야할까?..

선형변환, Linear Transformation - 회전변환, 로드리게스 회전 공식 [게임수학]

이전 글에 이어서 이번엔 임의의 축을 기준으로 회전 변환하는 것을 알아보기로 했다. 축이 x,y,z가 아니고 임의로 축을 잡을 땐 어떻게 할까...? 역시 이러한 회전변환도 벡터 공간을 벗어나지 않을 것임을 직관적으로 안다. 하지만 어떻게는 감이 잘 안온다. 그래서 그림을 봐야겠다. 임의의 벡터 a가 기준이다. 임의의 벡터 v를 a 만큼회전시키려고 한다. ++위에건 소문자 에이(벡터), 아래건 알파(각) Ra는 회전 변환이다. 그림을 감이 잘 안 온다... 하지만 여기서 벡터 v를 벡터 a에 투영시킨 벡터v(proj)와 그 v(proj)에서 v로부터v로부터 빼서 나오는 v(perp)가 있다. ??? 설명 드럽다고 생각할 수 있다. 쉽게 말하자면 아니 그림을 보면 빨간색이 v(proj) 파란색이 v(per..

선형 변환- 크기변환(Scaling), 회전변환(Rotation) [게임수학]

선형 변환을 지난 글에서 살짝 알아보았고 결국 벡터 공간의 기저벡터를 바꾸는 것이 무엇에 이용되는지 알아볼 예정이다. 그 중 크기 변환과 회전 변환을 알아보겠다. 크기 변환은 우선 쉬운 변환이다. 벡터의 2가지 성질인 방향과 크기 중에서 크기만 바꾸는 것이다. 크기를 바꾸는 변환을 T라고 한다면 이렇게 표현할 수 있을 것이다. 예를 들어서 v가 (1,2,4)라고 한다면 이렇게 된다. 간단하다. 실제로 계산을 하기 위해서는 위처럼 나타내는 것보다는 행렬로 하는 것이 좋은데 a,b,c만큼 변환한다고 하자 행렬로는 이렇게 나타낸다. M이 변환하는 행렬이다. ++ 이전 시간에 배웠다. 변환된 이후의 모습이다. 보면 행렬의 특징을 볼 수 있는데 주대각성분을 제외한 모든 성분이 0이다. a,b,c는 각 축에대한 크..

선형변환, Linear Transformation [게임수학]

앞서 선형에 대한 정의도 했고 선형 변환도 살짝은 설명했다. 선형 변환은 하나의 벡터 공간을 다른 벡터 공간으로 변환하는 함수라고 했다. ++ 기저 벡터가 변하는 그런 것들 선형 변환인 이유는 변환을 하더라도 벡터공간의 조건에서 선형성을 잃지 않기 때문이다. 이로 인해 얼마나 우리가 이용할 것이 많은지 신나지 않나?? 우선 나는 신나지는 않고 흥미롭긴 하다. 이전에 벡터를 행렬로 표현이 가능하다고 했다. 때문에 선형 변환도 행렬로 표현이 가능하다고 말했다. 어떻게 가능할까?? 예를 들어볼까? 선형 변환 T가 있다고하자 이 변환은 벡터 공간 V를 다른 벡터 공간 W로 변환해주는 변환이다. 벡터 공간 V를 다른 벡터 공간인 W로 바꾸고 싶다. (차원은 각각 n,m차원이다) 벡터 공간 V에서 임의의 벡터 v는..

728x90
반응형