mesh_process opmesh → meshimport fullseye as fs; fs.ledger.taubin_smooth(mesh: 'Sequence', iters: 'int' = 10, lam: 'float' = 0.33, mu: 'float' = -0.34) -> 'Mesh' (実装を直接呼ぶなら import mesh_smooth; mesh_smooth.taubin_smooth(mesh: 'Sequence', iters: 'int' = 10, lam: 'float' = 0.33, mu: 'float' = -0.34) -> 'Mesh'、台帳から引くなら ops3d.get("taubin_smooth"))| Taubin λ | μ フィルタによる 非収縮 平滑化。→ (verts, faces)。 |
各反復で「正の lam で寄せる段」→「負の mu で押し戻す段」を続けて掛ける。
|mu| > lam とすることで低周波(全体形状)を通し高周波(ノイズ)だけを減衰させる
帯域通過フィルタになり、Laplacian の収縮アーティファクトを打ち消す(球の平均半径が
ほぼ保たれる)。既定 lam=0.33, mu=-0.34 は Taubin (1995) の推奨に近い。
Args:
mesh: (verts (N,3), faces (M,3)[, …]) のシーケンス。faces は不変。
iters: λ|μ ペアの反復回数(正の整数)。
lam: 寄せ段の係数、0 < lam < 1。
mu: 押し戻し段の係数、mu < 0 かつ |mu| > lam(収縮を打ち消す条件)。
Returns: (verts (N,3) float64, faces (M,3) int64)。faces は入力を保持。
Raises: ValueError: メッシュ形状不正・面範囲外・iters/lam/mu が不正(fail-closed)。
py -3.11 examples_3d/mesh_smooth.pymesh を入力に取れる)mesh_to_voxel · mesh_to_points · to_points · fuse_to_voxel · ambient_occlusion · cast_shadow · supersample_mesh · render_beauty
mesh_process)laplacian_smooth · decimate_qem · face_normals · vertex_normals · mesh_area · vertex_curvature · face_areas · mesh_volume
Provenance: mesh_smooth.py — 3D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.