-
행렬의 기본 연산과 행렬식,역행렬, 단위행렬Algorithm with C/Math 2020. 10. 4. 20:53
행렬은 과연 어디에 적용되는가를 알고 싶을 것이다.
Unity에서 Transform이라는 Component가 있는데, 이 Transform에서는 전부 행렬로 처리를 한다.
Transform에는 Position, Rotation, Scale이 있는데, 이 곳에서 모두 행렬을 이용해
Object들의 좌표를 움직이게 한다든지, 회전을 시키고, 크기를 늘렸다 줄였다를 할 수 있다.
행렬을 아래와 같이 구조체로 정의하도록 하자.
행렬의 덧셈, 뺄셈, 곱셈 연산
위의 2X2행렬 곱셈의 일반화를 해보자.
행렬 곱셈의 주의 해야할 사항.
행렬식
단위 행렬(2by2 행렬임을 가정.)
역행렬
좀 더 엄밀히 수학적으로 말하면, 주어진 행렬의 역행렬이 존재하면
행렬의 행렬식은 0이 되지 않고 이와는 반대로
행렬의 행렬식이 0이 되지 않으면 주어진 행렬의 역행렬이 존재한다.
즉, 필요충분조건이다.
역행렬이 과연 어디에 쓰이느냐가 궁금해할 것이다.
위에서 행렬은 유니티에서 Transform이라는 컴포넌트와 관련이 있다고 이야기 했었다.
즉, 어떤 물체가 시계 방향으로 움직였다고 가정하자.
다시 반시계방향으로 움직여서 원래 위치로 되돌아오게 하고 싶을 때, 이 역행렬을 이용한다.
아래는 main함수
프로그램 실행결과
소스 파일
다음의 내용도 같이 보도록 하자.
designatedroom87.tistory.com/137
'Algorithm with C > Math' 카테고리의 다른 글
API를 활용한 파티고라스의 정리를 이용한 거리 구하기 (0) 2020.10.10 행렬의 응용 Scale & Rotation (0) 2020.10.07 API를 활용한 반사벡터 구현 (0) 2020.10.03 API활용으로 공의 튀어오름을 구현(포물선 운동) (0) 2020.10.03 API를 활용한 이차함수를 이용해 점프 기능 만들기 (0) 2020.10.02