OpenGL ES 매트릭스 변환 및 수학 원리 에 대한 상세 한 설명(5)
4.567917.벡터 는 선형 공간의 대상 을 묘사 했다4.567917.행렬 은 벡터 가 선형 공간 에서 의 운동(변환,도약)을 묘사 하고 비슷 한 행렬 은 본질 적 으로 같은 선형 변환 의 서로 다른 묘사 이다4.567917.하나의 선형 공간 에서 하나의 기 초 를 선 정 했 고 모든 선형 변화 에 대해 정확 한 행렬 로 묘사 할 수 있다4.567917.행렬 은 선형 변환 에 대한 묘사 일 뿐만 아니 라 하나의 기본 적 인 묘사 로 서 변 환 된 행렬 로 서 선형 공간의 한 점 을 다른 점 으로 바 꿀 수 있 을 뿐만 아니 라 선형 공간의 한 좌표계(기)표를 다른 좌표계(기)로 바 꿀 수도 있다4.567917.우리 가 벡터 에 대해 이야기 할 때 반드시 그 가 있 는 좌표 계 를 지정 해 야 의미 가 있다.예 를 들 어 벡터 b=(1,2,3)은 실제 적 으로 단위 좌표계 I 아래 에 벡터 의 도량 이 b 라 는 것 을 말한다4.567917.마=b 를 이해 하면 마=Ib 로 볼 수 있다.즉,좌표계 M 에서 측정 한 벡터 a 와 좌표계 I 에서 측정 한 b 는 실제 적 으로 같은 벡터 이다4.567917.행렬 에 있어 그 가 표시 한 그 좌표계 도 한 조 의 기(벡터)로 구성 되 고 이 조 의 기 초 는 어느 좌표계 에서 도량 을 매 는 문제 도 존재 한다.행렬 M 에 대해 서 는 IM,즉 M 중의 그 벡터 가 I 좌표계 에서 나 온 것 으로 이해 합 니 다
그래서 우 리 는 이러한 식 을 이해 합 니 다.ACb,AC 는 행렬 이 고 b 는 벡터 입 니 다.
4
각종 변환
이동 행렬
축소 행렬
평이 행렬 과 축소 행렬 은 이해 하기 쉽 고 행렬 형식 에서 우 리 는 왜 4 차원 의 벡터 로 정점 을 표시 하 는 지 볼 수 있다.w 분량 을 투시 제법 으로 하 는 것 을 제외 하고 다른 작용 도 평이 를 통합 시 키 기 위 한 것 이 아니 냐.모두 곱셈 을 하고 덧셈 을 하지 않 는 다.수학 적 으로 3 차원 공간의 좌 표를 그 차례 형식 으로 표시 하 는 것 이다.
회전 변환
회전 변환 은 상대 적 으로 복잡 하고 x,y 또는 z 축 을 돌 며 회전 하 는 상황 을 이해 하기 쉽다.
z 축 회전 을 예 로 들다
그래서
행렬 형식
임의의 축 을 돌 며 회전 하 는회전 행렬
마찬가지 로 앞에서 배 운 직 교 투영 행렬,투시 행렬 과 카메라 행렬 은 본질 적 으로 위의 변환 과 같다.
앞에서 일반 렌 더 링 라인 에 들 어 가 는 것 은 카메라 행렬,투영 행렬,행렬 을 바 꾸 어 곱 한 전체적인 변환 행렬 을 볼 수 있다.
정점 착색 기 에 서 는 보통 이런 식 이에 요.
gl_Position = uMVPMatrix * vec4(aPosition,1);
위의 코드 에 있 는 변수 uMVP Matrix 는 모델(M),보기(V),투영(P)3 중 변환 종합 을 나타 낸다.행렬 곱셈 의 순 서 를 알 고 각 점 에 대한 변환 은 순서 가 있 습 니 다.각 점 에 대해 먼저 모델 변환(이동 확대 회전)을 한 다음 에 보기 변환(카메라 시각)을 한 다음 에 투영 변환 을 합 니 다.이 세 가지 변환 순 서 는 가 변 적 이지 않 습 니 다.순 서 를 바 꾸 면 최종 적 으로 보 이 는 효과 가 다 르 기 때 문 입 니 다.
모든 점 에서 하 는 종합 적 인 변 화 는 본질 적 으로 이 점 에 대해 행렬 을 곱 하 는 것 이다.그러나 우리 가 들 어 온 것 은 최종 적 인 종합 적 인 변환 행렬 에 있어 방금 의 이 해 는 특별히 정확 하지 않 았 다.생각 을 바 꾸 어 종합 적 인 변환 행렬 로 이해 하면 좌표계 의 변환 이 더욱 좋 을 것 이다.왜냐하면 우 리 는 이 상승 후의 종합 행렬 을 한꺼번에 전달 하 는 것 이기 때문이다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Common Lisp에서 GPU 벡터 기반 글꼴 렌더링그때 조금만 쓴 문자열 드로잉 라이브러리의 소개입니다. 브라우저의 렌더링 엔진을 만드는데 있어서, 취급하기 쉬운 묘화 백엔드가 필요했다. Gecko는 Cairo를 사용하는 것처럼 보였습니다 (과거의 이야기?) 그래서...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.