angles_to_normals — REPRCONV direction op

• Datenarten: pairs → normals

• Aufruf: import fullseye as fs; fs.ledger.angles_to_normals(pairs) (die Implementierung direkt: import reprconv; reprconv.angles_to_normals(pairs); aus dem Register: opsreprconv.get("angles_to_normals"))

Verwendung

Azimut-/Elevationspaare (N,2) [Grad] → Einheitsnormalen (N,3). Der Ausgang aus pairs.

Die exakte Umkehrung von normals_to_angles (im Sinne der Normierung auf Einheitslänge). Elevationen außerhalb von [-90, 90] werden abgewiesen -- eine Elevation von 100 Grad klappt zu "80 Grad auf der Gegenseite" um und ist plausibel falsch, daher wird sie nicht stillschweigend angenommen.

Args:

pairs: (N, 2) [Azimut Grad, Elevation Grad] oder ein Tupel aus 2 gleich langen 1-D-Arrays.

Returns:

(N, 3) float64, Einheitslänge je Zeile.

Raises:

ValueError: ungültige Form / nicht endlich / Elevation außerhalb von [-90, 90].

Referenzen (Beispieldaten, Literatur)

• 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.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• representation_roundtrip — py -3.11 examples/representation_roundtrip.py

Typkompatible Folge-Operatoren (nehmen normals als Eingabe)

normals_to_angles · normals_to_egi

Gleiche Kategorie (direction)

normals_to_angles · normals_to_egi


*Provenance: reprconv.py — REPRCONV 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.