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.