=> Depth Map은 'Full' 3D Structure를 나타낼 수 없다. -> 2.5D


Point Cloud의 한계를 해결하기 위해, 각 Point간의 Connectivity Information을 추가한다.
Vertices : Position of Points
Faces : Indices of vertices (vertices의 연결로 face를 표현)
→ Mesh = Vertices + Faces
이렇게 되면 Surface는 picewise Linear하게 근사되어 표현됨
*Picewise Linear : 부분적으로 봤을 때, 직선으로 표현되었다는 의미
i.e. 곡면이 직선의 연속으로 표현됨(like 정적분)
더욱 잘게 쪼개어질수록(vertices 간의 간격이 좁을수록) 더욱 근사됨
하지만 계산량(computational cost)이 많아진다.

Faces는 어떻게 정의할까? 몇 개의 Vertices를 하나의 Face로 정하는 것이 좋을까라는 고민이 남아있다.
다각형 중 가장 면의 갯수가 적은 삼각형이 가장 적은 ambiguity를 가지므로 'Triangular Mesh'
Triangular Mesh는 'ray-triangle intersertion'을 계산하기에도 효율적
* ray-triangle intersertion : camera에서 나온 광선이 물체와 충돌하는 것을 의미. 자세한 설명 : https://wraithkim.wordpress.com/2021/06/08/%EB%A0%88%EC%9D%B4-%ED%8A%B8%EB%A0%88%EC%9D%B4%EC%8B%B1%EC%9D%98-%EC%9B%90%EB%A6%AC/ 참조
또한 Texturing과 Rendering 과정에서 이점 (자세한 내용은 잘 모르겠음)
Watertight : Mesh 내부를 물로 가득 채웠다고 생각해보자. 이 때, 물이 새지 않는다면, 이 Mesh는 완전히 연결된 상태일 것이다. watertight하다는 것은 Mesh가 완전히 연결되어 있음을 의미한다.
어떤 mesh가 watertight 상태라면, 이 Mesh는 외부와 내부의 경계가 있다는 것
따라서 어떤 한 점이 이 Mesh의 내부 혹은 외부에 위치하는지 판단하는 것이 가능
Surface Representation part에서 하나의 object를 어떻게 mesh로 표현할 지 알아보았다.
그렇다면, 다수의 Objects가 있는 공간은 어떻게 representation할까?
이렇한 공간을 Field라고 하며, 스칼라, 벡터, 텐서 등 시공간에서 각 point마다의 value를 가지는 물리량으로 표현된다.

object의 representation은 앞서 알아봤으니, 그 외의 공간, 즉 free space에 대한 representation을 생각해보자
OCC (The Occupancy Field) : 물체가 공간을 차지하는지에 대한 정도를 함수로 표현
(특정 범위에 물체가 존재한다면 1, 모서리 부분에서 0.5, 비어 있는 부분에서는 0)

SDF (Signed Distance Field) : 각 지점에서 가장 가까운 경계(edge)까지의 경계를 함수로 표현
(경계에서의 SDF는 0, 어떤 원 형태의 object의 중심에서의 sdf는 원의 반지름 r)
