내 전공은 시물레이션인데 나도 2d, 3d 코드들을 꽤나 짜 봤어. 지금도 짜고 있고.
내가 지금껏 본 코드중에 가장 놀랬던게 뭐냐면....
n d에 대한 코드야.
말그대로 파라미터에 2로주면 2d로 계산되고 3으로 주면 3d로 계산되는 코드였는데
천라인 이하라면 짜 볼 수도 있겠지만 거의 만라인 되는걸 저렇게 짜 놨더라구
거기다 코멘트도 잘 정리되어 적혀있고 코드도 깔끔히 되어 있어서 깜짝 놀랬었는데
1d부터 5d 까지 값을 줘 봤는데 재대로 돌아가서 깜짝 놀랬었어.
2d는 보통 솔루션이 있어서 계산 값을 적지만 3d 이상은 수치해석적으로 계산해야하는데
당시 코드를 읽어볼 시간이 없어서 그냥 대충으로만 봤는데 아직도 잘 모르겠다.
가령 그림자를 구하는 경우에
2d에선 그림자가 선으로 나오기에 입자가 여러게 겹쳐져 있어도
겹쳐진 덩어리의 양 끝값만 알면 선 길이를 구할 수 있는데
3d에서는 그림자가 면으로 나와서 세 입자 이상 겹쳐진 그림자 넓이는 정확한 값을 구할수가 없잖아.
니들같은 응용프로그래머들 입장에서본다면 2d 게임과 3d 게임을
실행중에 파라미터만 변경하면 바로 바뀌는 것과 같은거지.
얌마 그런건 모델(알고리듬) 만드는게 어렵지 일단 나와주면 코딩이야 쉽지
아니, 사실 코딩도 꽤나 복잡해. 10라인 짜리 같은 짧은 코드로 본다면 우리쪽 코드가 쉬울지 몰라도 만라인 가까이되면 쉬운 코드는 없어. 거기다 단일프로그램에 만라인이면 서로 연관되어 있어서 생각보다 어려워.