tb_angle_3points — 2D typed op

Data kinds: pointsfeature

Call: fullseye.apply(img, "tb_angle_3points", a=0.5, b=0.5) (the 2-D model is one image plus two scalar knobs a,b∈[0,1])

*No figure: the type is reachable, but the generic synthetic input is outside this op's domain — 3 点(頂点 b と両端)を取る op で、(N,3) の点群は定義域の外. See the runnable examples below for usage.*

Usage

Angle formed by three points (vertex b, in degrees). ∠ABC.

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

`arccos(û·v̂)(u = a − b, v = c − b`)を度で返す(float)。値は [0, 180] で符号は

無い(2-D でも回転の向きは区別しない)。引数は数値の 2 または 3 ベクトル、次元の混在は

ValueError。`a == bc == b` だと零ベクトルの内積 0 で 90 が返る(例外は出ない)。

内積は [−1,1] に clip するので数値誤差で NaN にはならない。

用途: 曲げ角・関節角の計測、`fit_line_3d` で得た 2 直線の交点まわりの角度。

2-D 進化レジストリへ橋渡しした 3d の op `angle_3points。実装は同じで、呼び出し規約だけ op(v, a, b) に合わせてある。この op に調整点は無く、ab` も使われない。

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.

Runnable examples (verified samples that actually call this op)

The examples below call the underlying ledger op angle_3points. This bridge op is the same implementation adapted to the fn(v, a, b) convention, so the behaviour carries over unchanged (only the call form differs).

geometry_metrologypy -3.11 examples_3d/geometry_metrology.py

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

identity

Same category (typed)

tb_points_to_voxel · tb_estimate_point_normals · tb_iss_keypoints · tb_project_points · tb_render_point_depth · tb_statistical_outlier_removal · tb_radius_outlier_removal · tb_voxel_grid_downsample


*Provenance: ops.py — 2D 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.