profile_normalise — PROFILE frame op

• 資料種類:pairs → pairs

• 呼叫: import fullseye as fs; fs.ledger.profile_normalise(contour)(要直接呼叫實作,import profileops; profileops.profile_normalise(contour);從台帳取用則 opsprofile.get("profile_normalise"))

用法

以旋轉與平移進行正規化,使弦長為 1、前緣位於原點、弦朝向 +x。

只依弦長改變尺度(不使形狀變形)。回傳正規化後的輪廓。

步驟:用 profile_chord_frame 求出前緣 le、後緣 te(後緣張開時取縫隙的中點)、弦長 chord、弦的方向 angle_deg,然後回傳 ((contour - le) @ R(-angle).T) / chord。只是旋轉、平移、均勻縮放的相似變換,保持點的數量與順序(不重新取樣)。

• contour: (N, 2) 的 (x, y),8 點以上,有限值。若傳入 (row, col), 弦能找到但上下會對調(不會拋出例外)。是否閉合在此不檢查(由 profile_sides 及之後的處理檢查)。

• 回傳值: (N, 2) float64。前緣在 (0, 0),後緣在 (1, 0) 附近,x 為 [0, 1] 的弦長比。y 的正負號(上表面為正或負)由輸入的環繞方向決定,不做翻轉。

• 失敗: ValueError(形狀、點數不足、非有限值、弦長為 0 = 所有點重合)。

前緣、後緣的判定是「最遠點對中,稍靠內側截面較厚的一方 = 前緣」,因此在前後厚度相同的對稱截面(橢圓等)上,前後可能會對調。profile_sides / profile_thickness / profile_camber 在內部呼叫本函式。

詳細使用指南

• profile_metrology 族使用指南

參考(範例資料、文獻)

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

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

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

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

• profile_frame_tour — py -3.11 examples/profile_frame_tour.py

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

profile_perturb · profile_chord_frame · profile_resample · profile_sides · profile_thickness · profile_camber · profile_leading_edge_radius · profile_trailing_edge_gap

同類別(frame)

profile_chord_frame · profile_resample


*Provenance: profileops.py — PROFILE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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