fdf를 하기로 결정했다.
시작 하기 전에 서브젝트를 읽어보는데, 이런 설명이 있다.
This project is about creating a simplified graphic “wireframe” (“fils de fer” in French, hence the name of the project)
- 이 과제는 "wireframe" 를 만드는 것에 관한 것이다.
자, 그래 wireframe이 뭘까. 여기서 부터 시작해야 할 것 같다.
위키피디아에 나와있는 사전적 설명은 이렇다.
A wire-frame model, also wireframe model, is a visual representation of a three-dimensional (3D)
physical object used in 3D computer graphics. It is created by specifying each edge of
the physical object where two mathematically continuous smooth surfaces meet, or by
connecting an object's constituent vertices using (straight) lines or curves.
- 와이어프레임 모델은 3D 컴퓨터 그래픽에서 이용되는 3차원 물체의 시각적 표현이다. 두 (수학적으로) 연속된 표면이 만나는 가장자리를 지정하거나, 물체를 구성하는 꼭지점을 직선이나 곡선으로 이어서 만든다.
뭔 소린가.. 싶을 것이다.
그래서 쉽게 표현하자면 이거다.
어떤 물체를 "씨스루로" 나타낸 것.
음영(조명) 없이, 표면 재질이나 질감 표현 없이.
즉 골격만을 시각화 시키는 것이다.
예전에 렌더링 기술이 발전 하기 전에는 음영을 포함한 모델을 만들고 렌더링 하는 것이 굉장히 어렵고 오래 걸리는 일이었다고 한다.
그에 비해 와이어 프레임 모델은 컴퓨터가 쉽고 빠르게 만들 수 있었다. 골격만 있는 거니까.
현재도 wireframe을 모델의 geometry가 잘못 됐다면 수정하고, 텍스쳐링/셰이딩 할 준비가 되었는지 확인 하는데 쓰고 있다.
* wireframe 모델의 간단한 예시.
물체가 두개의 테이블로 나타 내어져 있다. (1) Vertex Table, and, (2) Edge Table.
Vertex 테이블은 3차원 좌표계에서 (원점 기준)각 Vertex의 좌표로 이루어져 있다.
Vertex | X | Y | Z |
1 | 1 | 1 | 1 |
2 | 1 | -1 | 1 |
3 | -1 | -1 | 1 |
4 | -1 | 1 | 1 |
5 | 1 | 1 | -1 |
6 | 1 | -1 | -1 |
7 | -1 | -1 | -1 |
8 | -1 | 1 | -1 |
Edge 테이블은 각 edge에 대해서 시작과 끝 Vertex로 이루어져 있다.
Edge | Start | End |
1 | 1 | 2 |
2 | 2 | 3 |
3 | 3 | 4 |
4 | 4 | 1 |
5 | 5 | 6 |
6 | 6 | 7 |
7 | 7 | 8 |
8 | 8 | 5 |
9 | 1 | 5 |
10 | 2 | 6 |
11 | 3 | 7 |
12 | 4 | 8 |
과제 서브젝트에는
• The horizontal position corresponds to its axis.
• The vertical position corresponds to its ordinate.
• The value corresponds to its altitude.
라고 나와있는데 즉
Vertex표의
X = axis, Y = ordinate, Z = altitude
가 되는 것이고
각 Vertex를 이은 선이 edge가 되는 것이다.

wireframe model이 뭔지 알아봤다. 이제 그만 알아보자.
가 아니고.. 드는 의문점.
그럼 어떻게 저 점들을 저렇게 3차원에서 보고 있는 것 처럼 찍지? 준건 그냥 원점 좌표계에서의 점들의 상대 위치(좌표)인데?
그것이 이 과제의 목적인 것이다.. 후후
그건 이제 다음에 알아보자..
'42cursus' 카테고리의 다른 글
fdf 해야할것 4 (0) | 2022.01.23 |
---|---|
fdf 해야할것 3 (0) | 2022.01.19 |
fdf 해야할것 2 (4) | 2022.01.18 |
fdf 해야할 것 1 (0) | 2022.01.17 |
va_start(ap, v)에서 두번째 인자 부터 받아오게 되는 이유. (0) | 2021.09.02 |