본문 바로가기
3D Algorithm

PLY File Format(포맷 정보)

by DarkRock 2024. 6. 6.
반응형

이전글에 stl과 obj 파일 기본정보에 대해 글을 작성 했었습니다.

2023.10.23 - [3D Algorithm] - stl, obj 3D 파일 포맷 기본 정보(3D File Format)

 

stl, obj 3D 파일 포멧 기본 정보(3D File Format)

3D 파일로 주로 쓰이는 stl과 obj 파일 포맷의 기본적인 geometry 정보(에니메이션, 텍스쳐, 포인트 색상정보 제외)를 알려드리겠습니다. 이 두 파일 뿐만 아니라 대부분의 3D 파일(volume이 아닌 surface d

darkrock.tistory.com

 

PLY 파일도 stl, obj와 같이 3d data를 저장하는 데이터 포맷입니다.

PLY는 크게 두 가지 Header와 Data로 나누어서 저장합니다.

 

* Header
- 헤더 시작은 ply, 헤더 끝은 end_header로 표시합니다.
- 헤더는 데이터 포맷이 바이너리든 아스키든 상관없이 아스키로 되어 있습니다.
- 아스키는 format ascii 1.0로 표시하고, 바이너리는 두 가지 format binary_little_endian 1.0, format binary_big_endian 1.0로 표시합니다.
- 점 개수는 element vertex ***, 면 개수는 element face ***로 표시합니다.
- 점 좌표는 x y z, 점 노말은 nx ny nz, 텍스쳐 좌표는 s t로 표시합니다.

 

 

* Data
- 점 정보 표현 순서는 점 좌표(x/y/z), 점 노말(nx/ny/nz), 텍스쳐 좌표(s/t) 순서로 표시합니다.
- 면 정보 표현 순서는 면의 점 개수, 점 인덱스 순서로 표시합니다.

  예를 들어 면이 삼각형이고 점들의 index가 0 1 2 일 때 면 정보 표현은 3 0 1 2 입니다.

 

아래는 삼각형 두 개로 사각형을 표현하는 ply 아스키 파일입니다. 텍스쳐 정보는 없습니다.

ply
format ascii 1.0
element vertex 6
property float x
property float y
property float z
property float nx
property float ny
property float nz
element face 2
property list uchar uint vertex_index
end_header
10.000000 10.000000 0.000000 0.000000 0.000000 1.000000
0.000000 10.000000 0.000000 0.000000 0.000000 1.000000
0.000000 0.000000 0.000000 0.000000 0.000000 1.000000
10.000000 10.000000 0.000000 0.000000 0.000000 1.000000
0.000000 0.000000 0.000000 0.000000 0.000000 1.000000
10.000000 0.000000 0.000000 0.000000 0.000000 1.000000
3 0 1 2
3 3 4 5

 

<사각형 ply 파일 렌더링>

 

반응형