2011-01-11 5 views
7

먼저 수학 배경을 시작하십시오. 미적분 I - IV와 미분 방정식을 가져 왔습니다. 그래픽 API없이 퐁 (Phong)을 사용하여 쉐이딩을 포함하여 우리 자신의 그래픽 파이프 라인을 구현 한 1 학기 컴퓨터 그래픽 코스를 택했습니다.컴퓨터 그래픽 : 코드 작성 대상 코드

나는 이번 학기에 대학원 수준의 고급 컴퓨터 그래픽 과정을 수강하고 있으며, 수학을 읽으면 저를 잃어 버리게됩니다. 이 클래스는 기본적으로 이미지 합성 클래스입니다. 우리는 첫 번째 프로젝트에서 레이 트레이서 (ray-tracer)를 구축하고 거기에서 빌드합니다.

고급 컴퓨터 그래픽을 읽을 때 일반적으로 많은 수학 지식을 얻습니다. 나는 컴퓨터 그래픽이 무겁다는 것을 이해하지만 코드에 수학을 구현하는 방법을 정확하게 파악하려고 할 때 문제가 있습니다. 나는 CG에서 뛰어나기 위해서 정말로 이것을해야 할 필요가 있습니다. 예를 들어

, GPU 보석에서이 문서 : http://http.developer.nvidia.com/GPUGems/gpugems_ch01.html 이 수학의 무리,하지만 내가 원하는 경우 수학을 구현하기 시작하는 단서가 없다.

그래서 제가 누락 된 것이 있습니까? 수학을보고 코드를 파생시킬 수 있습니까? 내가해야 할 일을 이해하는 데 도움이 될 수있는 자습서/책이 ​​있습니까?

+3

얼마나 많은 선형 대수를 찍었습니까? 대부분의 컴퓨터 그래픽은 선형 대수를 적용합니다. –

+0

나는 선형 대수학을 택했다.나는 그것을 언급하는 것을 잊었다. 선형 대수학에 대한 문제는 결코 복잡한 적분법이 아니며 코드로 변환하는 방법입니다. – Oscar

+1

해당 기사에서 복잡한 통합을 볼 수 없습니다. 어느 비트와 문제가 있습니까? –

답변

0

이 기사에서는 FFT 또는 실제로 역 FFT를 사용하여 이동 높이 필드를 생성합니다. FFT에 대해 읽어보십시오. 2 차원을 수행하려면 먼저 행에 대해 1 차원 FFT를 수행 한 다음 열을 수행하십시오. 높이 필드가 있으면 편미분은 아마도 x 또는 y 축을 따라 인접한 높이의 차이를 가져 와서 어느 부분인지에 따라 얻어집니다. 한 눈에 나는 거기에 통합 물을 보지 못했지만, 그들은 몇몇 그래픽 논문에 나타나고 그것들을 평가하는 방법이있다.

나는 또한에 걸쳐 ompf 포럼 둘러보고 추천 할 수

: 난 그냥 "더 수학 및 연습을 연구"이상 줄 수 http://ompf.org/forum/

+0

다시 보았을 때, 그것은 어떤 적분도 가지고 있지 않습니다. 나는 코드로 번역하려고 할 때 여전히 문제가있다. 나는 웹 사이트를 조사 할 것이다. – Oscar

0

하나의 팁은 어떤 수학적 구조는 일반적으로 코드에서 유사한 구조를 가지고있다 그것은 단지 명백하지 않을 수 있습니다.

적분 (및 합계)은 코드의 루프 또는 프레임의 합계로 구현되는 경우가 많습니다 (그래픽의 경우가 많습니다). 파생물 및 부분은 일반적으로 프레임에서의 델타 또는 픽셀과 같은 개별 요소 사이에서 나타나는 값 사이의 변경입니다.

이 규칙은 100 %를 보유하지 않지만 생성하는 코드의 측면에서 더 무서운 수학 요소를보기 시작할 수 있으면 흡수하기 쉽습니다. 단단한 재단에서 일하는 것이 중요하므로 기초가 확실하고 나머지는 경험과 실습이 있어야합니다.

1

GPU 보석 기사에서 볼 수있는 일종의 수학 프로그래밍은 일반적으로 수치 해석에 해당합니다. 수치 해석의 더 많은 측면은 수치 방법이나 과학 프로그래밍에 대한 과정이나 서적에서 다루어집니다. numerical analysis에 관한 위키피디아 기사부터 시작하여 특정 링크 된 기사를 살펴 보시기 바랍니다. 일단 관련 메소드의 이름을 알게되면 샘플 코드를 쉽게 찾을 수 있습니다.

팁 : 파생 상품 및 통합을 구현하는 데있어 중요한 부분은 실제로 프로그램에서 한계 (수학적 의미)를 처리하는 방법을 배우는 것입니다. 종종, 그것은 명시 적으로 언급되지 않았습니다.