curve op• Data kinds: points → measurement
• Call: import fullseye as fs; fs.ledger.arc_length(curve) (implementation को सीधे call करना हो तो import curve3d; curve3d.arc_length(curve), registry से लेना हो तो ops3d.get("arc_length"))
• Ledger के ज़रिए return value: fullseye.ledger.arc_length(...) केवल घोषित out type measurement का value लौटाता है (मूल function सहायक जानकारी भी लौटाता है)। जो हिस्सा छोड़ दिया गया है उसकी ज़रूरत हो तो fullseye.ledger.arc_length.raw(...) का उपयोग करें, या curve3d.arc_length को सीधे call करें।
• मूल function का return: (cumulative, total) → 全長 float
curve की cumulative arc length और कुल लंबाई। → (cumulative (N,), total float)।
क्रमित point sequence curve (N,3) को index क्रम में polyline मानकर पास-पास के points के बीच की Euclidean दूरी जोड़ता जाता है। cumulative[0]=0, cumulative[i] = शुरुआत से i-वें point तक polyline की लंबाई, total = cumulative[-1]। unit वही है जो coordinates की है।
• input केवल float में बदला जाता है, कोई shape validation नहीं है (columns की संख्या 3 न हो तब भी गणना चल जाती है)।
• N=1 पर cumulative=[0.0] और total=0.0। closed curve में भी अंतिम point→पहले point का हिस्सा नहीं गिना जाता (बंद करना हो तो पहले point को अंत में duplicate करके पास करें)।
• duplicate points (दूरी 0 वाले हिस्से) जैसे के तैसे 0 के रूप में जुड़ते हैं, इसलिए cumulative monotonically non-decreasing है पर strictly increasing नहीं।
resample_uniform इसी cumulative arc length को parameter बनाकर linear interpolation करता है। curvature के arc-length integral जैसे curvature_torsion के साथ जोड़ते समय ds इन्हीं differences से लिया जाता है।
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• space_curve — py -3.11 examples_3d/space_curve.py
• torus_knot_curve — py -3.11 examples_3d/torus_knot_curve.py
measurement को input के रूप में लेते हैं)vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle
curve)curvature_torsion · frenet_frame · resample_uniform · fit_spline_curve
*Provenance: curve3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.