curve op• 데이터 종류: points → measurement
• 호출: import fullseye as fs; fs.ledger.arc_length(curve)(구현을 직접 호출하려면 import curve3d; curve3d.arc_length(curve), 원장에서 가져오려면 ops3d.get("arc_length"))
• 원장 경유의 반환값: fullseye.ledger.arc_length(...) 는 선언된 out 형 measurement 의 값만 반환합니다(실제 함수는 보조 정보도 반환). 버려진 쪽이 필요하면 fullseye.ledger.arc_length.raw(...) 를 쓰거나 curve3d.arc_length 를 직접 호출하세요.
• 실제 반환: (cumulative, total) → 全長 float
곡선의 누적 호 길이와 전체 길이. → (cumulative (N,), total float).
순서가 있는 점열 curve (N,3)을 index 순서의 꺾은선으로 보고, 인접 점 사이의 유클리드거리를 누적한다. cumulative[0]=0, cumulative[i] = 처음부터 i번째까지의 꺾은선 길이, total = cumulative[-1]. 단위는 좌표와 같다.
• 입력은 float로 변환될 뿐 형상 검증은 없다(열 수가 3이 아니어도 계산은 통과한다).
• N=1에서는 cumulative=[0.0]·total=0.0. 닫힌 곡선이어도 끝점→시작점 구간은 세지 않는다(닫고 싶으면 첫 점을 끝에 복제한 뒤 넘긴다).
• 중복점(거리 0인 구간)은 그대로 0으로 누적되므로 cumulative는 단조 비감소이지만 순증가는 아니다.
resample_uniform은 이 누적 호 길이를 파라미터로 선형 보간한다. 곡률의 호 길이 적분 등 curvature_torsion과 조합할 때의 ds는 이 차분에서 얻는다.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• space_curve — py -3.11 examples_3d/space_curve.py
• torus_knot_curve — py -3.11 examples_3d/torus_knot_curve.py
measurement 를 입력으로 받는 것)vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle
curve)curvature_torsion · frenet_frame · resample_uniform · fit_spline_curve
*Provenance: curve3d.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.