curve op• 数据种类:points → points
• 调用: import fullseye as fs; fs.ledger.resample_uniform(curve, n)(要直接调用实现,import curve3d; curve3d.resample_uniform(curve, n);从台账取用则 ops3d.get("resample_uniform"))
按弧长等间隔重采样为 n 点(线性插值)。→ (n,3)。
以 arc_length 的累积弧长为参数,取 np.linspace(0, total, n) 的位置并用 np.interp 对 x、y、z 独立线性插值。输出为 float64 的 (n,3)。起点和终点与输入的首尾一致,中间点落在折线上(不一定经过原始点)。
• n:输出点数。1 时仅起点 1 点,0 时为空的 (0,3)。多于输入也不会增加信息, 只是把折线切得更细。
• 总长小于 1e-12(全部点重合)时,将首点复制 n 次返回。
• 输出列数固定为 3,输入不是 (N,3) 时会因列数不足而失败,或多余的列被丢弃。没有形状校验。
• 闭曲线不会闭合(终点→起点的区间不在插值范围内)。即使有重复点 np.interp 也能通过,但该区间按长度 0 处理。
curvature_torsion / frenet_frame 是 index 参数的差分,因此间距不均匀的点列用本 op 等间距化后再传入,数值微分会更稳定。需要平滑插值时用 fit_spline_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 · fit_spline_curve
*Provenance: curve3d.py — 3D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.