This is an old revision of the document!
Algebraische Form
Bestimmen Sie die algebraische Form der Bezierkurven von Grad 1,2,3 (und $n$, wer möchte), und zwar als konvexe Kombination der Kontrollpunkte mit den Koeffizienten als vollständig faktorisierte Polynome in $t$.
Form der Polynome und deren Ableitungen
Kontrollpunkte $\vec p_0$ bis $\vec p_n$: $$ \vec p(t) = \sum_{i=0}^n {n \choose i} (1-t)^{n-i} \cdot t^i \cdot \vec p_i $$
Für Grad 3: $$ \vec p(t) = (1-t)^3 \cdot \vec p_0 + 3(1-t)^2t \cdot \vec p_1 + 3 \cdot (1-t)t^2 \cdot \vec p_2 + t^3 \cdot \vec p_3 $$
Ableitungen von $p(t)$ für $t \in [0,1]$
$$ v(t) = -3(1-t)^2 \cdot \vec p_0 + 3(1-t)(1-3t)\cdot \vec p_1 + 3t(2-3t) \cdot \vec p_2 + 3t^2 \cdot \vec p_3 $$
Man findet $\vec v(0) = 3(\vec p_1 - \vec p_0)$, also Tangente parallel zu $P_0P_1$. Analog mit $\vec v(1)$.
Interpolation mit kubischen Funktionen
Gesucht ist eine kubische Funktion durch 2 gegebene Punkte $P=(0,y_P)$ und $Q=(1,y_Q)$ mit gegebenen Tangentensteigungen $m_P$ und $m_Q$ in diesen Punkten.
Variante 1: Ansatz $f(x) = ax^3+bx^2+cx+d$, Gleichungssystem aufstellen, lösen.
Variante 2: Anstatt die kanonische Basis $1,x,x^2,x^3$ zu verwenden, soll eine Basis mit der Eigenschaft gefunden werden, dass von folgenden Werten immer nur genau einer Eins und die restlichen Null sind: $b(0), b(1), b'(0), b'(1)$. Die gesuchte Lösung ergibt sich dann als einfache Linearkombination mit den gegebenen Koeffizienten.
Analyse von SVG-Pfaden
Dokumentation:
- Bisschen ausführlicher: https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
Vorgehen
Ziel:
SVG-Datei mit Inkscape erstellen → Python Programm das die Pfade ausliest → Konvertieren in Polygonzug → Umrechnen in Plotter-Koordinaten → Plotter Befehle → WhiteBoard verschönern.
- Umgang mit Inkscape (erstellen von Pfaden)
- Analyse der SVG-Datei
- Welche Pfad-Element müssen implementiert werden, wie funktionieren diese?
- Text-Analyse, Konvertierung der Daten in Python
- Bezier-Klasse erstellen (für Kurven von Grad 1 bis 3).
- Initialisierung
- Zeichnen (Validierung)
- Interpolation
- Pfad-Klasse erstellen
- Als Sammlung von Bezier-Kurven
- Plotter Koordinatensystem analysieren
- Geometrische Definition
- Ausmessen im Tech-Lab
- Nullpunkt festlegen
- Plotter Sprache definieren
- Koordinaten
- Stift auf/ab
- Arduino-Code anpassen
Umgang mit Inkscape
Nützliche Tastenkombinationen:
- F1: Auswahlmodus (zum kopieren, löschen, verschieben, rotieren)
- F2: Edit-Modus (Manipulation der Pfadelemente.
Pfad-Manipulationen:
- Shift-Ctrl-C: Object to Path (Kreise, Rechtecke, Text wird erst *nicht* als Pfad gespeichert.) Bei Text ist danach noch eine Gruppe aufzulösen.
- Ctrl-K: Combine (mehrere Pfade in einen Pfad zusammenfassen).