frame_axis — REPRCONV structure op

• Data kinds: frame → normals

• Call: import fullseye as fs; fs.ledger.frame_axis(frame, axis='tangent') (to call the implementation directly, import reprconv; reprconv.frame_axis(frame, axis='tangent'); from the registry, opsreprconv.get("frame_axis"))

• GPU: none (CPU reference implementation only)

Usage

Frenet frame frame → the unit vectors of one axis normals (N,3). The exit from frame.

> The detailed description below is the original text — the summary and the headings are translated.

frenet_frame の返り (T, N, B)(各 (N,3))から axis の 1 本を取り出す:

"tangent" = 接線 T、"normal" = 主法線 N、"binormal" = 陪法線 B。取り出した列は点ごとの単位ベクトルなので normals 型に載る(normals_to_angles / normals_to_egi などがそのまま掛かる)。

frenet_frame は直線区間で N・B がほぼゼロベクトルになる(向き不定)。ここでは 長さ 0.5 未満の行を拒否する(黙って単位ベクトルのふりをさせない)。直線を含む曲線で N/B を使うなら、先に fit_spline_curve で滑らかにするか接線だけを使う。

Args:

frame: (T, N, B) の 3-tuple、各 (N,3)。

axis: "tangent" / "normal" / "binormal"。

Returns:

(N, 3) float64、各行は単位長(frenet_frame が正規化した値そのまま)。

Raises:

ValueError: 3-tuple でない / 形がそろわない / axis が不正 / 長さ 0.5 未満の行がある。

References (sample data, literature)

• 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.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• type_connectivity_tour — py -3.11 examples/type_connectivity_tour.py

Ops the type connects to (they accept normals as input)

normals_to_angles · normals_to_egi

Same category (structure)

knn_graph_to_conn_graph · pointmap_to_points · match_component


*Provenance: reprconv.py — REPRCONV 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.