3차원 입체에 대한 정보를 2차원 배열로 처리

By | 2006/02/16

3차원 입체에 대한 정보를 2차원 배열로 처리

‘C언어 펀더멘탈’ 425쪽에 다음과 같은 글이 있다

‘심지어 3차원 입체에 대한 정보조차 2차원 배열로 처리하는데 아무런 문제가 없다.’

이 글을 보고 나서 이해를 할 수 없었다.

내가 C 프로그래밍을 배울 때 2차원 정보 즉, 그림이나 음악은 2차원 배열을 쓰고,

3차원 정보 즉, 3D 관련은 3차원 배열을 쓴다고 들었기 때문이다.

그런데 아무런 문제가 없다니 어떻게 된 것일까?

곰곰이 생각해보았지만, 답을 얻지 못했다.

 

그러다 오늘 세수를 하면서 문제에 대해서 생각해보았고,

가설을 하나 얻을 수 있었다.

‘2차원 배열로 만든 행렬이면 가능하지 않을까?’

그래서 한 번 만들어 보았다.

 

간단히 각 좌표벡터를 열벡터로 가지는 행렬을 만들었다.

좌표 벡터

이 행렬로 크기 증감, 축 반사, 사영, 회전등을 할 수 있다.

그럼 행렬을 어떻게 2차원 배열로 만들까?

이런식으로 만들 수 있지 않을까?

C 코드

(위의 코드는 단순히 행렬을 2차원 배열로 표시한다는 것만 보여준다. 내 의도는 다음 행렬을 표시하기 위한 것이다.)

행렬 예

아무튼 행렬을 이용하면 되고, 행렬은 2차원 배열로 표시한다는 것을 알고 있음에도,

그걸 바로 알아채지 못하고 다음 날 떠오르다니….

문제를 빨리 풀었음에도 별로 기쁘지 않은 하루다.

 

참조

C언어 펀더멘탈

현대선형대수학

6 thoughts on “3차원 입체에 대한 정보를 2차원 배열로 처리

  1. mark

    곰곰 생각해보면 당연한 말인데, 그 두줄 가지고 한참 생각을 하시다니 저 같으면 그냥 그런가 보다 그러고 잊어먹었을듯-_-;; 학자의 길로 가시길^^

    Reply
  2. NoSyu

    곰곰이 생각해보면 당연하다고 바로 나와야 하는데 한참을 생각했으니 바보 아닐까요?^^;;
    OTL….ㅜㅜ

    Reply
  3. NoSyu

    저도 CSS 전혀 모르고, 페인트샵, 포토샵 등은 전혀 모릅니다.^^

    Reply
    1. NoSyu

      반갑습니다.
      포스팅한다는 말이 무슨 의미인지 잘 모르겠습니다만, 펌하신다는 말씀이시라면 비영리인 곳에 변경금지로 출처만 밝히신다면 좋습니다.^^

      Reply

Leave a Reply