reconstruct op• 데이터 종류: points → mesh
• 호출: import fullseye as fs; fs.ledger.poisson_lite(points, size=64, sigma=1.0, iso=0.5, normals=None)(구현을 직접 호출하려면 import recon3d; recon3d.poisson_lite(points, size=64, sigma=1.0, iso=0.5, normals=None), 원장에서 가져오려면 ops3d.get("poisson_lite"))
점군 (N,3) → (vertices(V,3), faces(F,3)) 의 표면 메시(스크린드 Poisson 경량 근사).
점군을 size³의 voxel 격자로 splat하고, 등치면 장을 만들어 marching cubes로 삼각형 메시화한다. 출력 정점은 입력 점군과 같은 월드 좌표(bbox에서 역사상). bounds는 점군 bbox(+σ 의존 padding).
2 모드:
• normals is None: 점유(occupancy)를 가우스 평활·[0,1] 정규화하고, iso로 이진화한표면 밴드의 내부를 binary_fill_holes로 채운 뒤 다시 평활하여, 단일 외곽 껍질을 iso로 뽑는다. 점유(unsigned) 장은 내외 대칭이어서, 평활한 얇은 껍질의 등치면은 안쪽 경사·바깥쪽 경사의 두 곳을 지나 동심 이중 껍질이 되어 버린다. 내부 채움으로 내외 대칭성을 깨면, 닫힌 표면 샘플로부터는(격자/σ에 대해 충분히 조밀하면) 단일 껍질을 얻는다. 열린 곡면은 채워지지 않고 얇은 면 그대로. 너무 성기거나/σ가작으면 틈으로 채움이 새어 이중 껍질로 퇴화할 수 있다(엄밀한 내외 판정이 필요하면 normals 지정을 쓴다).
• normals 지정: 방향이 있는 점의 winding number로 내외 지표 장을 만들어 가우스 평활하고, iso (기본값 0.5)로 표면을 뽑는다. 표면만의 샘플이라도 내부를 채워 닫힌 곡면을 얻을 수 있다.
points : array_like (N,3)
입력 점군.
size : int
voxel 격자의 한 변의 길이(기본값 64). 클수록 정밀하지만 O(size³).
sigma : float
가우스 평활의 표준편차(voxel 단위, 기본값 1.0). padding은 ⌈3σ⌉+2 voxel을 자동 확보.
iso : float
등치면 레벨. 정규화 장 [0,1] 위의 값(기본값 0.5).
normals : array_like (N,3) or None
점 법선. 주면 winding number 모드, None이면 점유 모드.
vertices : numpy.ndarray (V,3) float64
월드 좌표의 정점.
faces : numpy.ndarray (F,3) int64
삼각형의 정점 인덱스(vertices를 참조).
ValueError
점 수 부족(<4), size가 너무 작음, 점유/지표 장이 얇아 iso가 장의 값 범위 밖 등.
• blender_interop — Blender와 함께 쓰기 — 형상을 만들고 fullseye로 측정(축·단위·정답 데이터의 함정)
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• poisson_surface_recon — py -3.11 examples_3d/poisson_surface_recon.py
mesh 를 입력으로 받는 것)mesh_to_voxel · mesh_to_points · to_points · fuse_to_voxel · ambient_occlusion · cast_shadow · supersample_mesh · render_beauty
reconstruct)alpha_shape_mesh · alpha_shape_boundary · estimate_alpha
*Provenance: recon3d.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.