Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| kurse:ef05a-2021:kurven:bezier-speed-and-interpolation [2022/01/04 07:23] – Ivo Blöchliger | kurse:ef05a-2021:kurven:bezier-speed-and-interpolation [2022/01/10 10:39] (current) – Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Geschwindigkeitsvektoren der Bezierkurve ====== | ||
| + | Gegeben sind 4 Kontrollpunkte $\vec p_0$ bis $\vec p_3$ einer kubischen Bezierkurve. Die Parametrierung der Kurve ist wie folgt: | ||
| + | |||
| + | $$ | ||
| + | \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 | ||
| + | $$ | ||
| + | |||
| + | Als Ableitung erhält man den Geschwindigkeitsvektor $\vec v(t)$ (wobei $t$ hier der Zeit in $[0,1]$ entspricht). | ||
| + | $$ | ||
| + | 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) = 3(\vec p_3 - \vec p_2)$. | ||
| + | |||
| + | D.h. also, dass man aus Start- und Endpunkt und den entsprechenden Geschwindigkeitsvektoren die Kontrollpunkte berechnen kann: | ||
| + | |||
| + | $$ \vec p_1 = \vec p_0 + \frac{1}{3}\vec v(0)$$ | ||
| + | und | ||
| + | $$ \vec p_2 = \vec p_3 - \frac{1}{3}\vec v(1)$$ | ||
| + | |||
| + | ===== $\vec v(t)$ ist eine Bezierkurve 2. Grades ===== | ||
| + | $\vec v(t)$ ist eine Bezierkurve 2. Grades. Der Kontrollpunkt könnte analog wie oben mit der 2. Ableitung (Beschleunigung) berechnet werden. | ||
| + | |||
| + | |||
| + | $$\vec a(t) = -6\,\vec p_2\, | ||
| + | | ||
| + | t \left(6 \vec p_3 - 18 \vec p_2 + 18 \vec p_1 - 6 \vec p_0 \right) + \left(6\, | ||
| + | $$ | ||
| + | |||
| + | |||
| + | Interessant sind auch hier die Werte von $a(0)$ und $a(1)$: | ||
| + | $$\vec a(0) = 6\,\vec p_2-12\, | ||
| + | $$\vec a(1) = 6\,\vec p_3-12\, | ||
| + | |||
| + | |||
| + | Beachten Sie, dass die Beschleunigungsvektorspitzen linear entlang einer Geraden laufen (wenn man die Beschleunigungsvektoren am Nullpunkt festmacht). | ||
| + | |||