curve op• Data kinds: points → points
• Call: import fullseye as fs; fs.ledger.resample_uniform(curve, n) (to call the implementation directly, import curve3d; curve3d.resample_uniform(curve, n); from the registry, ops3d.get("resample_uniform"))
Resample to n points evenly spaced along the arc length (linear interpolation). → (n,3).
Takes the positions np.linspace(0, total, n) with the cumulative arc length of arc_length as the parameter, and linearly interpolates x, y and z independently with np.interp. The output is float64 (n,3). The start and end points coincide with the first and last input points, and intermediate points lie on the polyline (they do not necessarily pass through the original points).
• n: number of output points. 1 gives the 1 start point only, 0 an empty (0,3). Making it larger than the input adds no information; it just cuts the polyline finer.
• When the total length is below 1e-12 (all points identical), the first point is duplicated n times and returned.
• The output column count is fixed at 3; if the input is not (N,3) it either fails for lack of columns or extra columns are discarded. There is no shape validation.
• Closed curves are not closed (the end→start segment is not interpolated). Duplicate points still pass through np.interp, but that segment is treated as length 0.
curvature_torsion / frenet_frame use differences over the index parameter, so for unevenly spaced sequences, equalising the spacing with this op before passing them in stabilises the numerical differentiation. For smooth interpolation use fit_spline_curve.
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• bspline_freeform — py -3.11 examples_3d/bspline_freeform.py
points as input)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 operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.