bilder_rotieren
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| bilder_rotieren [2024/01/20 11:18] – [Koordinaten toScreen and fromScreen] torsten.roehl | bilder_rotieren [2024/02/07 08:23] (aktuell) – torsten.roehl | ||
|---|---|---|---|
| Zeile 12: | Zeile 12: | ||
| - | |FIXME|FIXME| | + | | {{ : |
| - | |Das originale Bild ist hier Quadratisch | + | |Das originale Bild ist hier Quadratisch |
| Zeile 43: | Zeile 43: | ||
| \begin{equation} | \begin{equation} | ||
| - | ==== Beispiel ==== | ||
| + | {{: | ||
| <WRAP center round box 100%> | <WRAP center round box 100%> | ||
| - | **Aufgabe:**\\ | + | {{:inf: |
| Wie lauten die Koordinaten des neuen Bildpunktes bei einer Drehung um **40°**, wenn der alte Bildpunkt **P(10, | Wie lauten die Koordinaten des neuen Bildpunktes bei einer Drehung um **40°**, wenn der alte Bildpunkt **P(10, | ||
| - | **Lösung:**\\ | + | |
| + | {{:inf: | ||
| Für den Sinus und Cosinus ergibt sich: | Für den Sinus und Cosinus ergibt sich: | ||
| * sin(40°)=0, | * sin(40°)=0, | ||
| Zeile 86: | Zeile 89: | ||
| Um Bilder zu rotieren, müssen grundsätzlich folgende Schritte abgearbeitet werden. Wir gehen hier davon aus, dass das Bild um seine Bildmitte rotiert werden soll. | Um Bilder zu rotieren, müssen grundsätzlich folgende Schritte abgearbeitet werden. Wir gehen hier davon aus, dass das Bild um seine Bildmitte rotiert werden soll. | ||
| - | - Vom zu rotierenden Bild< | + | - Vom zu rotierenden Bild< |
| - Ein leeres Bild <color # | - Ein leeres Bild <color # | ||
| * Die neue Größe kann aus der alten Größe ermittelt werden! | * Die neue Größe kann aus der alten Größe ermittelt werden! | ||
| Zeile 99: | Zeile 102: | ||
| - | |||
| - | ==== Koordinaten toScreen and fromScreen ==== | ||
| - | * Bildkoordinaten haben ihren Ursprung oben links. | ||
| - | * besitzen nur** positive integer Werte** | ||
| - | * Kartesische Koordinaten, | ||
| - | * häufig ist der Koordinatenursprung in der Mitte des Bildes überaus zweckmäßig. | ||
| === fromScreen === | === fromScreen === | ||
| Zeile 111: | Zeile 108: | ||
| Mit **fromScreen** bezeichnen wir eine Java-Methode, | Mit **fromScreen** bezeichnen wir eine Java-Methode, | ||
| + | * Kartesische Koordinaten, | ||
| + | * häufig ist der Koordinatenursprung in der Mitte des Bildes überaus zweckmäßig. | ||
| + | |||
| === toScreen === | === toScreen === | ||
| Zeile 118: | Zeile 117: | ||
| Mit **toScreen** bezeichnen wir eine Java-Methode, | Mit **toScreen** bezeichnen wir eine Java-Methode, | ||
| + | * Bildkoordinaten haben ihren Ursprung (0|0) oben links und besitzen nur positive integer Werte | ||
| + | |||
| ===== Herleitung der Transformationsgleichung: | ===== Herleitung der Transformationsgleichung: | ||
| - | ==== Herleitung | + | Wir leiten jetzt die im vorherigen Abschnitt angegeben Transformationsgleichungen her. |
| + | ==== Voraussetzungen | ||
| + | Damit die Herleitung nachvollzogen werden kann, werden lediglich die Additionstheoreme für Sinus und Kosinus benötigt. | ||
| + | |||
| + | |||
| + | * cos(φ + α ) = cos(φ)·cos(α) - sin(φ)·sin(α) | ||
| + | * sin(φ + α ) = sin(φ)·cos(α) + cos(φ)·sin(α) | ||
| + | |||
| + | Eine einfache Herleitung dieser Formel kann mit Hilfe der komplexen Zahlen (Eulerformel) erfolgen. Für unsere Zwecke ist es aber ausreichend, | ||
| + | ==== Herleitung ==== | ||
| + | |||
| + | |{{: | ||
| + | |Der rote Punkt wird bei einer Drehung um den Winkel φ in den blauen Punkt überführt (transformiert). |Die oben stehenden Formeln lassen sich direkt aus dem Bild ablesen. \\ **Schauen Sie sich beides solange an, bis ihnen das gelingt!** | | ||
| + | |< | ||
| + | sin(φ+α) bzw. cos(φ+α) durch ihre rechten Seiten. \\ \\ \\ \\ Der Radius r kürzt sich heraus.</ | ||
| + | | Damit sind die oben angegebenen Transformationsgleichungen gefunden. :-) || | ||
bilder_rotieren.1705749518.txt.gz · Zuletzt geändert: von torsten.roehl
