Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
kurse:ef05a-2021:kurven:xmastree-math [2021/11/29 07:46] Ivo Blöchliger created |
kurse:ef05a-2021:kurven:xmastree-math [2021/12/02 09:28] (current) Ivo Blöchliger [Nächster Punkt zu zwei Geraden] |
||
---|---|---|---|
Line 9: | Line 9: | ||
* Wiederholung der Messung von einer anderen Kameraposition (ungefähr $90^\circ$ um die $z$-Achse gedreht). | * Wiederholung der Messung von einer anderen Kameraposition (ungefähr $90^\circ$ um die $z$-Achse gedreht). | ||
* «Schnittpunkte» der Geraden im Raum für jede LED bestimmen (bzw. der Punkt der am nächsten bei beiden Geraden liegt). | * «Schnittpunkte» der Geraden im Raum für jede LED bestimmen (bzw. der Punkt der am nächsten bei beiden Geraden liegt). | ||
+ | * Sind die Raumkoordinaten einer LED bekannt, kann aus denen und der aktuellen Zeit in Sekunden die Farbe berechnet werden. | ||
====== Mathematische Knacknüsse ====== | ====== Mathematische Knacknüsse ====== | ||
===== Bildkoordinaten -> Raumkoordinaten ===== | ===== Bildkoordinaten -> Raumkoordinaten ===== | ||
+ | |||
+ | {{: | ||
+ | |||
* Sei $K$ die Position der Kamera und $\vec n$ der auf die $x$/ | * Sei $K$ die Position der Kamera und $\vec n$ der auf die $x$/ | ||
* Sei $B$ die Ebene durch die $z$-Achse mit Normalvektor $\vec n$. | * Sei $B$ die Ebene durch die $z$-Achse mit Normalvektor $\vec n$. | ||
Line 17: | Line 21: | ||
* Wir markieren auf dem Bild der Webcam die Punkte $O=(0,0,0)$ (Punkt auf dem Boden unter dem Stamm) und den Punkt $S=(0, | * Wir markieren auf dem Bild der Webcam die Punkte $O=(0,0,0)$ (Punkt auf dem Boden unter dem Stamm) und den Punkt $S=(0, | ||
* Damit haben wir folgende Koordinatensysteme: | * Damit haben wir folgende Koordinatensysteme: | ||
- | * Bildkoordinaten der Webcam: Nullpunkt oben links, positive $x$-Achse nach rechts, positive $y$-Achse nach unten. Einheit 1 Pixel, Bildgrösse typischerweise $640 \timex 480$. | + | * Bildkoordinaten der Webcam: Nullpunkt oben links, positive $x$-Achse nach rechts, positive $y$-Achse nach unten. Einheit 1 Pixel, Bildgrösse typischerweise $640 \times 480$. |
* Koordinaten auf der Ebene $B$: Nullpunkt auf dem Punkt $O$ (Punkt auf dem Boden unter dem Stamm), positive $x$-Achse nach links, positive $y$-Achse nach oben (in Richtung $\vec{OS}$). | * Koordinaten auf der Ebene $B$: Nullpunkt auf dem Punkt $O$ (Punkt auf dem Boden unter dem Stamm), positive $x$-Achse nach links, positive $y$-Achse nach oben (in Richtung $\vec{OS}$). | ||
* Räumliche Koordinaten der Punkte der Ebene $B$. | * Räumliche Koordinaten der Punkte der Ebene $B$. | ||
<WRAP todo> | <WRAP todo> | ||
- | **Gegebene Grössen**: Räumlicher Punkt $K$, Bildkoordinaten von $O$ und $S$. | + | **Gegebene Grössen**: Räumlicher Punkt $K$, Bildkoordinaten von $O$, $S$ und $L_0$ (Bildkoordinaten der LED). |
**Gesuchte Grössen**: Räumlicher Punkt $L$ auf der Ebene $B$. Damit ist die Parameterdarstellung der Geraden, auf der die LED liegt $\vec{OK}+t \cdot \vec{KL}$. | **Gesuchte Grössen**: Räumlicher Punkt $L$ auf der Ebene $B$. Damit ist die Parameterdarstellung der Geraden, auf der die LED liegt $\vec{OK}+t \cdot \vec{KL}$. | ||
</ | </ | ||
+ | Umsetzung in Python: https:// | ||
===== Nächster Punkt zu zwei Geraden ===== | ===== Nächster Punkt zu zwei Geraden ===== | ||
<WRAP todo> | <WRAP todo> | ||
Line 34: | Line 39: | ||
</ | </ | ||
+ | Umsetzung in Python: https:// | ||
+ | |||
+ | ===== Tafelbild zu den beiden obigen Problemen ===== | ||
+ | {{: | ||
===== Animation auf dem Baum ===== | ===== Animation auf dem Baum ===== | ||
<WRAP todo> | <WRAP todo> |