geometry oppoints → primitiveimport fullseye as fs; fs.ledger.fit_circle_3d(points) (実装を直接呼ぶなら import match3d; match3d.fit_circle_3d(points)、台帳から引くなら ops3d.get("fit_circle_3d"))点群 → 3D 円(平面フィット → 面内で 2D 円フィット)。返り値 (center, radius, normal)。
fit_plane_3d で面 (c, n) を取り、面内の正規直交基底 (e1, e2) に点を射影して 2-D の
代数円フィット(|q|² = 2·cc·q + k の lstsq)を解き、中心を 3-D に戻す。(N,3) で
3 点未満は ValueError(3 点なら面は厳密、円は 3 点を通る)。
center は面上の 3-D 点、radius は float(負の根は 0 に clamp)、normal は面の単位法線
(符号任意)。円弧の一部だけ・面から外れた点が多いと半径が偏る(代数フィットの性質。面内残差は
返さない)。
用途: 穴・フランジ・リングの中心と径、distance_point_line で軸からの偏心。
py -3.11 examples_3d/geometry_metrology.pyprimitive を入力に取れる)fuse_to_voxel · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_line · distance_line_line · distance_segment_segment
geometry)line_from_2points · plane_from_3points · angle_3points · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_line
Provenance: match3d.py — 3D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.