frame op• Datenarten: pairs → pairs
• Aufruf: import fullseye as fs; fs.ledger.profile_normalise(contour) (die Implementierung direkt: import profileops; profileops.profile_normalise(contour); aus dem Register: opsprofile.get("profile_normalise"))
Normiert durch Rotation und Translation so, dass die Sehnenlänge 1 ist, die Vorderkante im Ursprung liegt und die Sehne in +x zeigt.
Die Skalierung erfolgt nur über die Sehnenlänge (die Form wird nicht verzerrt). Zurückgegeben wird die normierte Kontur.
Ablauf: profile_chord_frame liefert Vorderkante le, Hinterkante te (bei offener Hinterkante die Mitte des Spalts), Sehnenlänge chord und Sehnenrichtung angle_deg, und ((contour - le) @ R(-angle).T) / chord wird zurückgegeben. Es ist nur eine Ähnlichkeitstransformation aus Drehung, Verschiebung und gleichförmiger Skalierung; Anzahl und Reihenfolge der Punkte bleiben erhalten (kein Neuabtasten).
• contour: (N, 2) als (x, y), 8 Punkte oder mehr, endlich. Wird (row, col) übergeben, wird die Sehne zwar gefunden, aber oben und unten sind vertauscht (es wird keine Ausnahme ausgelöst). Ob sie geschlossen ist, wird hier nicht geprüft (das prüfen profile_sides und die folgenden).
• Rückgabewert: (N, 2) float64. Die Vorderkante liegt bei (0, 0), die Hinterkante nahe (1, 0), x ist das Sehnenverhältnis in [0, 1]. Das Vorzeichen von y (ob die Oberseite positiv oder negativ ist) folgt aus dem Umlaufsinn der Eingabe und wird nicht umgedreht.
• Fehler: ValueError (Form, zu wenige Punkte, nicht endlich, Sehnenlänge 0 = alle Punkte fallen zusammen).
Die Vorder-/Hinterkantenentscheidung lautet "vom entferntesten Punktpaar ist der Punkt, dessen Querschnitt etwas weiter innen dicker ist = Vorderkante", daher können bei symmetrischen Querschnitten mit gleicher Dicke vorn und hinten (Ellipse usw.) vorn und hinten vertauscht sein. profile_sides / profile_thickness / profile_camber rufen dies intern auf.
• Leitfaden zur Familie profile_metrology
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• profile_frame_tour — py -3.11 examples/profile_frame_tour.py
pairs als Eingabe)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 Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.