나의 큰 O는 log x야

고정 헤더 영역

글 제목

메뉴 레이어

나의 큰 O는 log x야

메뉴 리스트

  • 홈
  • Tag
  • Guestbook
  • Admin
  • 분류 전체보기
    • 적분史
    • 프로그래밍
      • PG어
      • 테크닉
      • 3D
      • Multi precision
      • 포니게임개발
      • 스페샬
      • NLP
    • 소리
    • 언어
      • 어원 이야기
      • 라틴어
    • 수업노트
      • 한국고대경제와사회
      • 영어구조론
      • 정보검색론
      • 인간의삶과역사속의미생물
      • 기타
    • 잉여
      • 미래
      • 수학
      • 종교개혁
    • 그냥 공부
    • 가짜 정보 정정합니다.

검색 레이어

나의 큰 O는 log x야

검색 영역

컨텐츠 검색

3D

  • 개념 3D 이해 6.월드 변환

    2008.12.30 by ∫2tdt=t²+c

  • 개념 3D 이해 5.프로젝션 변환

    2008.11.17 by ∫2tdt=t²+c

  • 개념 3D 이해 4.뷰 변환

    2008.11.13 by ∫2tdt=t²+c

  • 개념 3D 이해 3.변환

    2008.11.13 by ∫2tdt=t²+c

  • 개념 3D 이해 2.위치

    2008.11.13 by ∫2tdt=t²+c

  • 개념 3D 이해 1.삼각형

    2008.11.13 by ∫2tdt=t²+c

개념 3D 이해 6.월드 변환

지금까지 3차원 물체를 원하는 위치에서 바라봤을때 2차원 모습으로 투사하는 방법에 대해 설명했다. 뷰 변환, 프로젝션 변환을 통해서 기본 모델에서 프로젝션 공간까지 변환했다. 그러나 제일 앞에 생략하고 넘어간게 있다. 기존의 모델을 확대하거나 축소하거나 회전하는 등의 변형을 해서 출력하고 싶다면? 각각의 모델별로 변환행렬이 필요하다. 이 변환을 월드 변환이라고 한다. 즉 모델은 다음과 같은 변환을 거친다. 기본 모델 ↓ 월드 변환(World Transformation): 모델을 변형한다. ↓ 월드 공간 ↓ 뷰 변환(View Transformation): 모델을 카메라의 관점에서 본 형태로 변형한다. ↓ 뷰 공간 ↓ 프로젝션 변환(Projection Transformation): 평면에 투사한다. ↓ 프로..

프로그래밍/3D 2008. 12. 30. 00:27

개념 3D 이해 5.프로젝션 변환

전편에 뷰 변환을 통해서 모델 공간에 있는 물체를 뷰 공간으로 변환할수 있었다. 카메라의 입장에서 물체를 볼 수 있게 된것이다. 그러나 모니터에 물체를 띄우려면 아직도 멀고 험한 길이 기다리고 있다. 모니터는 2차원 평면이다. 하지만 3차원 물체는 말 그대로 3차원인데 어떻게 2차원 평면에 나타내나? 정답은 축을 하나 버리는 것이다. 3차원에서 축 하나를 버리면 2차원이 되므로 평면에 그릴수 있다. ┌ │ │ │ │ │ └ 1 0 0 0 ┐ │ │ │ │ │ ┘ 0 1 0 0 0 0 0 0 0 0 0 1 뷰 변환이 끝난 점들에 이 행렬을 곱해보자. [x,y,z,1]에 이 행렬을 곱하면 [x,y,0,1]이 된다. 이제 이 x,y값을 가지고 모니터에 그려주면 땡이다. 라고 말하면 회이크다. 이렇게 하면 원근..

프로그래밍/3D 2008. 11. 17. 23:55

개념 3D 이해 4.뷰 변환

원래는 전 글에서 변환 설명을 다 끝내려고 했는데 길어져서 나누어버렸다. 우리의 현재 목표는 3차원상의 물체를 카메라에서 보이는 대로 화면에 표현하는 것이다. 이것을 저번 편에서 배웠던 행렬 변환을 이용해서 만들어보자. 가장 먼저 할일! 입장바꿔 생각해보기(易地思之). 먼저 Direct3D상에서는 x축이 모니터에서 오른쪽으로 뻗어나가는 방향이고, y축이 모니터에서 위쪽으로 뻗어나가는 방향이고 z축이 모니터 안쪽으로 들어가는 방향이다. (Direct3D를 예로 들어 설명한 이유는 가장 많이쓰이기 때문이다. OpenGL이나 또 다른 3D API에서는 축을 다르게 잡는다.) 그리고 모니터의 정 중앙이 원점(0,0,0)이 된다. 그럼 카메라가 볼때 원점은 어디가 될까? 바로 자기 자신의 위치가 원점이 될 것이다..

프로그래밍/3D 2008. 11. 13. 14:21

개념 3D 이해 3.변환

3차원 그래픽을 위해서인지는 몰라도 선형대수학이라는 학문이 발전되어 있다. 고등학교 때 행렬을 배우면서 이걸 어디에다가 쓰지 어디에다가 쓰지 했지면, 행렬은 3차원 그래픽에 쓰이고 있었다! 위키백과: 선형대수학 선형대수학은 벡터와 행렬에 대해서 연구하는 학문인데, 간단하게 말해서 우리는 3차원 상의 변환을 표현하기 위해서 행렬 변환을 사용할 것이다. 여기서 너무 수학적인것에 대해 설명한다면 머리가 터질지 모르므로 간략히 설명하면서 넘어가겠다. 일단 저번에 표현해봤던 점을 다음과 같이 벡터로 표현해보자. (x y z 1) 마지막에 1이 왜 들어갔냐고 따지지말라. 1의 유용함이 곧 드러날것이다. 우리는 이 4차원 벡터에다가 4차 정사각행렬을 곱할것이다. 이 식 그림들은 DirectX Documentation..

프로그래밍/3D 2008. 11. 13. 13:20

개념 3D 이해 2.위치

3차원 상에서 물체를 표현하는 방법을 전에 설명했다. 그럼 이것을 실제로 나타내보자. (여기 나오는 코드들은 그냥 이해를 쉽게 하기 위한 코드이며 실제로 써먹을 일은 없다!) 먼저 점을 나타낼수 있는 구조체를 만들어본다. typedef struct _Dot { float x,y,z; }Dot; 3차원 상의 점이므로 점의 위치를 표현하는데에는 3개의 좌표가 필요하다. 그리고 위치를 표현하기에는 정수형 보다는 실수형 자료가 낫다. 정수형을 쓰면 나타내기가 불가능한 좌표가 너무 많기 때문. 그럼 이제 삼각형을 나타내는 구조체 typedef struct _Triangle { Dot dot[3]; }Triangle; 이제 삼각형의 배열로 3차원 물체를 나타낼수 있겠다. 그런데 3차원 물체를 화면에 어떻게 그려야할..

프로그래밍/3D 2008. 11. 13. 12:37

개념 3D 이해 1.삼각형

요즈음 대부분의 영상이나 게임에서 3차원 그래픽을 찾아볼 수 있다. 과거에는 컴퓨터사양이 딸려서 꿈꾸지도 못한일이지만, 최근 그래픽카드와 CPU의 발달로 3D그래픽은 흔하게 되어버린것이다. 3차원그래픽의 개념을 이해, 정리하기 위해 글을 쓴다는 목적을 여기서 밝힌다. 3D에 다가가는데의 첫번째 난관은 3D물체의 표현방법일것이다. 2D그래픽은 비트맵 방식으로 쉽게 표현하고 화면에 나타낼수 있는데 3차원에서는 비트맵 방식을 사용하기 곤란하기 때문이다. 만약 3차원에서 비트맵 방식을 사용한다고 하면 예를 들어 256x256x256크기의 비트맵을 사용하면 각 픽셀당 RGBA32로 4바이트, 4Bx256x256x256=64MiB. 3차원 물체 하나의 용량도 어마어마하지만, 확대 축소 회전 등의 변환에서 문제가 발..

프로그래밍/3D 2008. 11. 13. 12:21

추가 정보

인기글

최신글

글쓴이 ∫2tdt=t²+c

블로그 이미지

제가 안 것의 대부분은 인터넷으로부터 왔으니, 다시 인터넷에게 돌려주어야 합니다. bab2min@gmail.com

댓글

태그

포니게임 정보조직론 라틴어 우리역사바로알기대회 php kiwi 영어구조론 BigFloat 악보 자연언어처리 Direct3D 리듬게임 c++ 문헌정보통계 텍스트 마이닝 NLP python 한국고대경제와사회 pg어 토픽 모델링

방문자

오늘
어제
전체

페이징

이전
1
다음
나의 큰 O는 log x야
메일 bab2min@gmail.com
Skin Images are from Stinkehund.

티스토리툴바