taubin_smooth — 3D mesh_process op

• 数据种类:mesh → mesh

• 调用: import 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)。

背景知识指南(该算子背后的物理与约定)

• blender_interop — 与 Blender 配合使用 —— 在 Blender 中建形、用 fullseye 测量(坐标轴、单位、真值数据的陷阱)

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

可运行的示例(实际调用该算子并已验证的样例)

• mesh_smooth — py -3.11 examples_3d/mesh_smooth.py

类型可衔接的下一个算子(可接受 mesh 作为输入)

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 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

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