superquadric op• 資料種類:points → primitive
• 呼叫: import fullseye as fs; fs.ledger.fit_superquadric(points) -> 'dict'(要直接呼叫實作,import superquadric; superquadric.fit_superquadric(points) -> 'dict';從台帳取用則 ops3d.get("fit_superquadric"))
• GPU:無(僅 CPU 參考實作)
用 least_squares 對點群擬合超二次曲面,回傳 dict{a,eps,R,t,residual}。
初始位姿 = 慣性張量特徵向量,初始 a = 主軸 bbox 的一半,初始 eps=(1,1)。最佳化時 a 保持為正,eps 截斷(clip)到 [0.1, 2.0]。
尺度:把點雲移到重心,在除以外接框對角線長 L 的無因次座標中求解,再以 a = L·a'、t = 重心 + L·t'、residual = L³·residual' 還原(★2026-11-05 對抗驗證 N5)。以前直接在原始座標中求解,殘差隨長度的 1.5 次方縮小,因此 scipy 預設的 gtol 在第一次評估時就已滿足,s <= 1e-4 的點雲會原樣回傳 PCA 初始值(橢球 a=(2,1.5,1) 變成 1.979/1.495/1.001,中心偏移 0.17·s)。現在無論 s 為何都得到相同的解。所有點重合的點雲(L == 0)拋出 ValueError。
dict: {'a': (3,), 'eps': (2,), 'R': (3,3), 't': (3,), 'residual': float}
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• superquadric_fit — py -3.11 examples_3d/superquadric_fit.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
superquadric)sample_surface · inside_outside · superquadric_residual
*Provenance: superquadric.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.