fullseye

gyroid_solid_mask — 3D surface op

使い方

The gyroid as a printable solid: the shell within ±thickness of the level set.

Returns a volume (float 0/1), so it feeds the existing voxel ops (vol_label / skeletonize_vol / mesh_slice_stack) directly and needs no marching cubes —— this form works on bare numpy, while :func:gyroid_isosurface needs scikit-image.

★Why this earns its place: at level = 0 the field is odd under the body-centred inversion, so the solid fraction of the two sides is exactly equal —— a symmetry fact the mask can be checked against (the measured fraction above 0 converges on 0.5 as the grid refines), and the shell volume grows linearly in thickness for small thickness because the level set has finite area. Both are independent of how the field was sampled.

Raises ValueError: a grid below 8 per axis or over the cap; non-positive periods; a non-finite level; a negative thickness.

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(voxel を入力に取れる)

voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa

同カテゴリ(surface)

minimal_surface · minimal_surface_bend · gyroid_isosurface · curve3d_tube_mesh


Provenance: render3d.py — 3D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.