3D 그래픽스 프로그래밍을위한 수학 주제


14

3D 그래픽 프로그래밍에는 다음 수학 주제가 필요하다는 것을 이해합니다. 나는 수학 과정에서 그들 중 일부를 시작했습니다. 누군가가 어떻게 적용 되는지 설명 하는 리소스의 방향을 알려줄 수 있습니까? 그들이 해결하기 위해 어떤 그래픽 / 게임 문제가 사용됩니까?

  • 벡터 수학
  • 행렬 수학
  • 쿼터니언
  • 선형 대수

내가 볼 수있는 한, 이들은 모두 선형 대수 / 행렬 주제입니다. 다른 주제가 필요합니까?


이 질문에 대한 좋은 정보가 있습니다 : gamedev.stackexchange.com/questions/2029/…
michael.bartnett

@ beardcp 나는 복제까지 갈 수 있습니다.
공산주의 오리

답변:


10

Linear Algebra는 3D 그래픽스 프로그래밍을위한 최고의 분야입니다 . 공간 기하학을 설명하기위한 수학적 언어 이기 때문 입니다. 다른 세 가지 주제는 실제로 선형 대수의 하위 집합입니다.

  • 벡터는 공간의 점을 생각하는 방법입니다
  • 행렬은 공간과 객체의 변형, 즉 객체 번역, 크기 조정 등을 생각하는 방법입니다.
  • 쿼터니언은 해당 변환의 특정 하위 그룹 인 회전을 자연스럽게 표현한 것입니다.

3D 그래픽스 프로그래밍에 대한 다른 관련 수학 조각들과 마찬가지로, 내가 좋아하는 것은 거의 사랑하지 않는 것이 계산 기하학입니다. 많은 자연 문제가 계산 기하학의 주제로 요약됩니다.

  • 특정 포인트에서 볼륨을 정의하는 가장 자연스러운 방법 중 하나 (예 : 특정 배경 노이즈가 재생되는 오디오 볼륨 또는 안개 볼륨 등)는 포인트 의 볼록 껍질 을 찾는 것 입니다. ; 2 차원과 3 차원에서이를 수행하기위한 좋은 알고리즘이 있지만, 2 차원 알고리즘조차도 분명하지 않습니다.
  • 주어진 지점 근처에 있거나 서로 가까이있는 물체를 결정할 수없는 문제 (예 : 충돌 가능성을 확인해야하는 물체의 수를 줄이거 나 주어진 요점)은 기하학적 쿼리 문제 의 분야 와 공간 분할 체계 (그리고 따라서 BSP 트리 및 옥트리와 같은 구조 )에 도달합니다 . 동일한 라인 아이디어도 '라인 트레이싱'쿼리에 응답하는 데 사용됩니다 (예 : '이 레이저 빔은 어떤 영향을 미칩니 까?').

그 후, 기본적인 미적분학, 특히 미분 방정식에 대한 수치 적 방법을 살펴 보는 것이 좋습니다. 이것들은 3D 물리학보다 3D 그래픽 그 자체와 관련이 적지 만 일반적으로 두 가지 주제는 (운동 애니메이션의 간단한 문제-예를 들어 캐릭터 애니메이션 등) 아주 밀접하게 연결되어 있습니다. 어느 쪽이든에 대한 지식을 실질적으로 향상시킵니다. 그래픽이 사용하는 것과 동일한 핵심 선형 대수 지식이 없으면 관련 물리학을 작업하는 것이 불가능하지는 않지만 어렵지만 동시에 물리 지식을 갖는 것은 그래픽의 주제를 이해하기위한 또 다른 참조 지점을 제공합니다.


이것은 환상적인 답변이었습니다, 스티븐 감사합니다. 나는 벡터, 행렬 및 쿼터니언에 대해 생각하는 방법에 대한 요약을 좋아했습니다. 건배!
캐서린 릭스



1

직교 좌표에 익숙하다면 위의 주제를 컴퓨터 그래픽에 적용하는 것이 분명해야합니다. 와이어 프레임 모델이 회전하는 것처럼 보이는 기본 디스플레이 문제를 해결하기 위해 수학을 적용하는 데 도움 이되는 OpenGL 용 튜토리얼이 있습니다 . 투시도 에 관한 Wikipedia 기사 는 약간의 역사적 배경에 도움이 될 수 있습니다.

그 외에도 수학 공식의 혜택을받는 많은 디스플레이 주제가 있습니다. 예를 들어, 3D 솔리드는 일반적으로 표면의 삼각 측량으로 표시됩니다. 관찰자가 "숨겨야 할"(숨겨진 표면 / 선 알고리즘) 표면의 해당 부분 만 어떻게 표시합니까? 특정 소스 / 방향에서 오브젝트를 비추는 경우, 이는 원근감있는 표면 렌더링을 제공하기 위해 원근과 어떻게 상호 작용합니까?

그 외에도 안개 또는 불꽃 애니메이션과 같은 모든 종류의 흥미로운 모델링 주제가 있습니다. 그러나 주제 목록이 중심에있는 것처럼 좌표 변환은 이후의 모든 발전의 필수 요소입니다.



1

모두 필요한 것은 아닙니다. 벡터 수학은 3D 그래픽을 통해 이루어지며, 벡터 수학의 미세한 점을 몰라도 지오메트리를 설정할 수 있지만 범프 맵과 같은 것들이 실제로 어려워지고 물리학에 빠져들게됩니다.

쿼터니언은 단순히 일부 수학에 대해 다른 설명을 제공하지만 가지고있는 것이 좋을 수도 있지만 쿼터니언으로 수행 할 수있는 계산을 설명하기위한보다 일반적인 수학으로는 충분하지 않습니다.

행렬 수학과 선형 대수는 매우 밀접한 관련이 있으며, 대부분 숫자 집합에 대한 선형 연산을 설명합니다. 그러나 이것은 벡터와 대수로 설명 할 수있는 것들을 설명하는 또 다른 방법입니다.

당신이 그것을 기본 수학의 일부라고 생각하는지 모르겠지만 삼각법은 분명히 목록을 만들어야합니다.


지금까지 물리학에 대한 몇 가지 언급을 보았습니다. 여기에서 어떤 conecpts를 언급하는지 말씀해 주시겠습니까? 나는 12 년 동안 (즉, 고등학교 이후) 주제를 다루지 않았고 솔직히 미워했습니다. 아마도 나는 그것의 적용이 위장에 더 쉽다는 것을 알게 될 것입니다.
캐서린 릭스

뉴턴 물리학, 주로 충돌 해결. 당신은 고등학교에서 이런 것들을 배우지 않았을 수도 있지만, 그것은 모두 매우 수학적입니다. 따라서 수학을 좋아한다면 좋을 것입니다.
aaaaaaaaaaaa
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.