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 在内部调用本函数。
• 示例数据目录(下载 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.