curve op• 数据种类:points → points
• 调用: import fullseye as fs; fs.ledger.fit_spline_curve(points, smooth=0.0, k=3, n=None)(要直接调用实现,import curve3d; curve3d.fit_spline_curve(points, smooth=0.0, k=3, n=None);从台账取用则 ops3d.get("fit_spline_curve"))
用 B 样条平滑并重采样有序 3D 点列。→ (M,3)。用于平滑带噪的轨迹/边缘。
scipy.interpolate.splprep/splev。smooth=0 为插值,>0 为平滑。n=输出点数(默认=输入数)。
用 splprep([x, y, z], s=smooth, k=k) 拟合参数化 B 样条(参数 u∈[0,1], scipy 默认的弦长参数化),在 u = linspace(0, 1, n) 处用 splev 求值, 返回 (n,3) float64。由于 u 等间隔,输出点在弧长上并不严格等间隔(需要弧长等间隔时将结果传给 resample_uniform)。
• smooth:scipy 的平滑条件 s。用使残差平方和不超过 s 的最少节点进行拟合。0 为通过全部点的插值,越大越平滑(单位为坐标的平方)。
• k:样条次数(默认 3)。点数 N 不超过 k 时 ValueError。
• n:输出点数。None 时为输入点数。
• 输入假定为按 index 顺序排列的 (N,3),除点数外没有形状校验。
用作将含噪声的边缘点列或轨迹平滑后再传给 curvature_torsion / frenet_frame 的前级。需要持有 tck 时用 fit_bspline_curve / eval_bspline_curve。
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• bspline_freeform — py -3.11 examples_3d/bspline_freeform.py
points 作为输入)points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d
curve)curvature_torsion · frenet_frame · arc_length · resample_uniform
*Provenance: curve3d.py — 3D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.