fit_circle_3d — 3D geometry op

• 資料種類:points → primitive

• 呼叫: import 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(負根 clamp 為 0),normal 為平面的單位法線(符號任意)。只有部分圓弧、或偏離平面的點較多時半徑會有偏差(代數擬合的性質。不回傳面內殘差)。

用途: 孔、法蘭、環的中心與直徑,用 distance_point_line 求相對軸的偏心。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• geometry_metrology — py -3.11 examples_3d/geometry_metrology.py

型別可銜接的下一個運算子(可接受 primitive 作為輸入)

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 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.