profile_normalise — PROFILE frame op

資料種類:pairspairs

呼叫: 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_tourpy -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.