geometry op• 数据种类:points → primitive
• 调用: import fullseye as fs; fs.ledger.plane_from_3points(a, b, c)(要直接调用实现,import match3d; match3d.plane_from_3points(a, b, c);从台账取用则 ops3d.get("plane_from_3points"))
3 点 → 平面(通过点, 单位法线)。三个坐标即可确定平面(2D/3D 通用)。
返回值 (a, n): a 为第 1 个点,n 为 n = (b−a)×(c−a) 单位化后的结果(方向为 a→b→c 的右手螺旋)。参数为数值的 2 或 3 维向量(其他情况或维度混用则 ValueError)。3 点共线时 n 以零向量原样返回(不抛异常)。传入 2 维点时 np.cross 返回标量(带符号面积的 2 倍),因此 n 不是向量而是 ±1 的标量。在 2-D 中需要直线的法线时,请将 line_from_2points 的方向旋转 90° 后使用。
后续: 将此 (a, n) 传给 distance_point_plane / intersect_line_plane / intersect_planes / angle_between_planes。从点云则用 fit_plane_3d。
• 示例数据目录(下载 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 · angle_3points · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_line · distance_line_line
*Provenance: match3d.py — 3D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.