WaBis

walter.bislins.ch

Krümmungskreis an 2D-Kurve

Freitag, 31. Juli 2015 - 00:27 | Autor: wabis | Themen: Wissen, Mathematik, Geometrie, Animation, Interaktiv
In diesem Beitrag leite ich die Formel für den Krümmungskreis an eine beliebige 2D-Kurve her, welche in parametrischer Form vorliegt.

Übersicht

Krümmungskreise

Der Krümmungskreis (auch Schmiegekreis oder Schmiegkreis genannt) zu einem bestimmten Punkt P einer 2D-Kurve ist der Kreis, der die Kurve in diesem Punkt am besten annähert. Den Mittelpunkt des Krümmungskreises nennt man Krümmungsmittelpunkt. [1]

Sein Radius, der Krümmungsradius, ist der Betrag des Kehrwerts der Krümmung der Kurve in P. Seine Tangente in diesem Punkt stimmt mit der Tangente der Kurve überein.

Da die Krümmung einer Kurve im Allgemeinen örtlich variiert (siehe Krümmungskreis Animation), schmiegt sich die Kurve im Allgemeinen nur in einer infinitesimal kleinen Umgebung an den Krümmungskreis an.

Krümmung einer 2D-Kurve

Der Graph einer Funktion der Form y = f(x) kann keine Schleifen bilden. Er ist immer eine Kurve, die stur von links nach rechts veräuft. Liegt jedoch eine Funktion in parametrischer Form vor, kann der Graph beliebige Kurven in einer Ebene oder in einem Raum vollbringen.

Eine 2D-Funktion in parametrischer Form sieht wiefolgt aus:

(1)
\vec u(t) = \left\lgroup \matrix{ x(t) \\ y(t) } \right\rgroup
wobei'
\vec u(t) ' =' 'Vektor zu einem Punkt in der XY-Ebene in Abhängigkeit der Laufvariablen t
x(t) ' =' 'X-Koordinate als Funktion von t
y(t) ' =' 'Y-Koordinate als Funktion von t

Die Krümmung bzw. den Krümmungsradius des Krümmungskreises erhalten wir im Prinzip über die zweite Ableitung dieser Funktion. Diese gibt an, wie stark sich der Tangentenvektor (erste Ableitung) ändert, was ein Mass für die Krümmung der Kurve ist. Die zweite Ableitung ergibt einen Vektor, der in Richtung Zentrum des Krümmungskreises zeigt.

Wir können aber nicht einfach die Funktion \vec u(t) zweimal ableiten, um die Krümmung bzw. den Radius des Kreises zu berechnen. Denn es gibt unendlich viele Funktionen \vec u_i(t_i) mit der selben 2D-Darstellung. Die Geschwindigkeit, mit welcher der Graph durchlaufen wird, kann sich von Funktion zu Funktion unterscheiden. Die Längen der Vektoren, die aus den Ableitungen resultieren, unterscheiden sich entsprechend.

Da jedoch alle diese Funktionen dieselbe Länge S und dieselbe Form haben, muss es möglich sein, eine Beschreibung des Graphen zu finden, von der eine eindeutige Krümmung abgeleitet werden kann. [2]

Kurve mit natürlichem Parameter

Auf der Suche nach einer solchen Funktion \vec u(s) betrachten wir zunächst den Tangentenvektor, also die erste Ableitung:

(2)
\vec T(t) = { \mathrm{d} \vec u(t) \over \mathrm{d} t } = \dot { \vec u } (t) = \left\lgroup \matrix{ \dot x(t) \\ \dot y(t) } \right\rgroup

Die Bogenlänge S des Graphen zwischen zwei Punkten ai und bi kann durch Aufsummieren bzw. Integrieren der Tangentenvektoren berechnet werden und ist für alle Funktionen \vec u_i gleich lang:

(3)
S = \int_{ a_i }^{ b_i } | \vec T_i(t_i) | \ \mathrm{d} t = \int_{ a_i }^{ b_i } | \dot { \vec u_i } (t_i) | \ \mathrm{d} t

Die Funktionen \vec u_i(t_i) unterscheiden sich jeweils im Wertebereich für ti zwischen ai und bi. Je weiter auseinander die Werte ai und bi liegen, umso länger müssen die Tangentenvektoren sein, damit über die Strecke S der entsprechende Wertebereich abgefahren wird. Die Längen der Tangentialvektoren |\vec T_i| bestimmen also den Abbildungsmassstab vom t-System ins s-System wiefolgt:

(4)
\mathrm{d} s = | \vec T(t) | \cdot \mathrm{d} t = | \dot { \vec u } | \cdot \mathrm{d} t = \sqrt{ { \dot x }^2 + { \dot y }^2 } \cdot \mathrm{d} t
\Rightarrow \qquad { \mathrm{d} t \over \mathrm{d} s } = { 1 \over \sqrt{ { \dot x }^2 + { \dot y }^2 } }

Wir suchen nun jene Funktion \vec u(s), bei welcher die Längen der Tangentialvektoren überall gleich 1 sind. Den Parameter s dieser Funktion bezeichnet man als natürlichen Parameter.

Die Ableitung von \vec u(s) nach dem natürlichen Parameter ist:

(5)
\vec t(s) = { \mathrm{d} \vec u(s) \over \mathrm{d} s } = \vec u^{\,\prime} (s) \qquad\qquad | \vec t(s) | = | \vec u^{\,\prime} (s) | = 1

Durch Verwenden der Funktion mit dem natürlichen Parameter s können wir die Tangenten, welche nun alle die Länge 1 haben, als Basis für ein lokales Koordinatensystem verwenden, welches sich überall optimal an die Kurve anpasst.

Der Einheits-Tangentenvektor im s-System und im t-System ist jeweils:

(6)
\vec t(s) = \vec u^{\,\prime}(s) = \left\lgroup \matrix{ x^{\,\prime} \\ y^{\,\prime} } \right\rgroup \qquad\qquad \vec t(t) = { \dot { \vec u } (t) \over | \dot { \vec u } (t) | } = { 1 \over \sqrt{ { \dot x }^2 + { \dot y }^2 } } \left\lgroup \matrix{ \dot x \\ \dot y } \right\rgroup

Den dazu senkrechten Radialvektor \vec r(t) mit Länge 1 und Richtung zum Zentrum des Krümmungskreises erhält man durch Rotation des Tangentenvektors \vec t(t) um 90 Grad im Gegenuhrzeigersinn:

(7)
\vec r(t) = { 1 \over \sqrt{ { \dot x }^2 + { \dot y }^2 } } \left\lgroup \matrix{ -\dot y \\ \dot x } \right\rgroup

Die Krümmung ist nun definiert als die Rate, mit welcher sich der Einheits-Tangentenvektor \vec t(s) ändert, wenn sich s um ds ändert. Diese Änderungsrate erhält man durch Ableiten des Tangentenvektors \vec t(s) nach s. Dabei erhalten wir einen Vektor \vec u^{\,\prime\prime}(s) senkrecht zu \vec t(s) in Richtung \vec r.

Hier ist, warum der Vektor \vec u^{\,\prime\prime} senkrecht zu \vec t ist:

Die Länge des Tangentenvektors \vec t(s) ist überall 1; so wurde die Funktion \vec u(s) definiert. Also gilt:

(8)
| \vec t(s) | = | \vec u^{\,\prime}(s) | = 1 \qquad\Rightarrow\qquad \color{blue}{ \vec u^{\,\prime}(s) \cdot \vec u^{\,\prime}(s) = \big( \vec u^{\,\prime}(s) \big)^2 = 1 }

Blau: Das Skalarprodukt eines Vektors mit sich selbst ergibt seine Länge im Quadrat. Die Ableitung der blauen Formel ergibt:

(9)
2 \cdot \vec u^{\,\prime}(s) \cdot \vec u^{\,\prime\prime}(s) = 2 \cdot \vec t(s) \cdot \vec u^{\,\prime\prime}(s) = 0

Das Skalarprodukt zweier Vektoren ergibt nur dann immer Null, wenn diese senkrecht aufeinander stehen. Die beiden Vektoren \vec u^{\,\prime\prime}(s) und \vec t(s) müssen demnach orthogonal zueinander sein.

Die Länge dieses Vektors \vec u^{\,\prime\prime}(s) entspricht der Krümmung \kappa(s):

(10)
\kappa(s) = \left| { \mathrm{d} \vec t(s) \over \mathrm{d} s } \right| = | \vec t^{\,\prime}(s) | = | \vec u^{\,\prime\prime}(s) |

Oder in Vektorform:

(11)
\vec u^{\,\prime\prime}(s) = \vec t^{\,\prime}(s) = \kappa(s) \cdot \vec r(s)
mit
\vec u^{\,\prime\prime}(s) = { \mathrm{d}^2 \vec u(s) \over \mathrm{d} s^2 } \qquad\qquad \vec t(s) = \vec u^{\,\prime}(s) = { \mathrm{d} \vec u(s) \over \mathrm{d} s }

Krümmung bei beliebigem Parameter

In der Regel liegt eine parametrische Funktion nicht in der Normalform mit dem natürlichen Parameter s vor. Um die Ableitungen \vec t(t) = \vec u^{\,\prime}(t) und \vec u^{\,\prime\prime}(t) zu erhalten, können wir die Kettenregel anwenden:

(12)
\vec u^{\,\prime\prime}(t) = \vec t^{\,\prime}(t) = { \mathrm{d} \vec t(t) \over \mathrm{d} t } \color{blue}{{ \mathrm{d} t \over \mathrm{d} s }}

Zur Erinnerung: Die Formel für den Tangentenvektor \vec t(t) ist nach (6):

(13)
\vec t(t) = { \dot { \vec u }(t) \over | \dot { \vec u }(t) | } = \color{green}{ { \dot { \vec u } \over \sqrt{ { \dot x }^2 + { \dot y }^2 } } } = { 1 \over \sqrt{ { \dot x }^2 + { \dot y }^2 } } \left\lgroup \matrix{ \dot x \\ \dot y } \right\rgroup

Den blauen Term dt/ds haben wir in (4) bereits bestimmt. Eingesetzt in (12) ergibt dies:

(14)
\vec u^{\,\prime\prime}(t) = \vec t^{\,\prime}(t) = \color{green}{{ \mathrm{d} \vec t(t) \over \mathrm{d} t }} \color{blue}{{ \mathrm{d} t \over \mathrm{d} s }} = \color{green}{{ \mathrm{d} \over \mathrm{d} t } \left( { \dot { \vec u } \over \sqrt{ { \dot x }^2 + { \dot y }^2 } } \right)} \color{blue}{{ 1 \over \sqrt{ { \dot x }^2 + { \dot y }^2 } }}

Berechnen wir zunächst die Ableitung (grüner Term). Dabei kommt die Regel Ableitung eines Bruches zur Anwendung:

(15)
\color{ green }{ { \mathrm{d} \vec t(t) \over \mathrm{d} t } } = { \mathrm{d} \over \mathrm{d} t } \left( { \dot { \vec u } \over \sqrt{ { \dot x }^2 + { \dot y }^2 } } \right) = { \ddot { \vec u } \, \sqrt{ { \dot x }^2 + { \dot y }^2 } - \dot { \vec u } \, { 2 ( \dot x \ddot x + \dot y \ddot y ) \over 2 \sqrt{ { \dot x }^2 + { \dot y }^2 } } \over { \dot x }^2 + { \dot y }^2 }

Vereinfachen wir diese Formel, indem wir zunächst alles auf einen Bruchstrich bringen:

(16)
{ \mathrm{d} \vec t(t) \over \mathrm{d} t } = { \ddot { \vec u } \, ( { \dot x }^2 + { \dot y }^2 ) - \dot { \vec u } \, ( \dot x \, \ddot x + \dot y \, \ddot y ) \over { \left[ { \dot x }^2 + { \dot y }^2 \right] }^{ 3/2 } }

Schreiben wir Formel (16) mit ausgeschriebenen Vektoren:

(17)
{ \mathrm{d} \vec t(t) \over \mathrm{d} t } = { 1 \over { \left[ { \dot x }^2 + { \dot y }^2 \right] }^{ 3/2 } } \Bigg[ \left\lgroup \matrix{ \ddot x \\ \ddot y } \right\rgroup ( { \dot x }^2 + { \dot y }^2 ) - \left\lgroup \matrix{ \dot x \\ \dot y } \right\rgroup ( \dot x \, \ddot x + \dot y \, \ddot y ) \Bigg]

Wir können weiter vereinfachen, indem wir die Vektoren mit den dahinter stehenden Termen multiplizieren und das Resultat davon zusammenfassen:

(18)
{ \mathrm{d} \vec t(t) \over \mathrm{d} t } = { 1 \over { \left[ { \dot x }^2 + { \dot y }^2 \right] }^{ 3/2 } } \left\lgroup \matrix{ \color{red}{ \ddot x \, { \dot x }^2 } + \ddot x \, { \dot y }^2 - \color{red}{ { \dot x }^2 \, \ddot x } - \dot x \, \dot y \, \ddot y \\ \ddot y \, { \dot x }^2 + \color{red}{ \ddot y \, { \dot y }^2 } - \dot y \, \dot x \, \ddot x - \color{red}{ { \dot y }^2 \, \ddot y } } \right\rgroup

Die roten Terme heben sich auf. Wir können oben -\dot y und unten \dot x ausklammern. Den beiden Komponenten gemeinsamen Teil können wir aus dem Vektor ausklammern (blauer Term):

(19)
{ \mathrm{d} \vec t(t) \over \mathrm{d} t } = { 1 \over { \left[ { \dot x }^2 + { \dot y }^2 \right] }^{ 3/2 } } \left\lgroup \matrix{ -\dot y \, \color{blue}{( -\ddot x \, \dot y + \dot x \, \ddot y )} \\ \dot x \, \color{blue}{( -\ddot x \, \dot y + \dot x \, \ddot y )} } \right\rgroup = { \color{blue}{ \dot x \, \ddot y - \ddot x \, \dot y } \over { \left[ { \dot x }^2 + { \dot y }^2 \right] }^{ 3/2 } } \left\lgroup \matrix{ -\dot y \\ \dot x } \right\rgroup

Setzen wir (19) wieder in (12) ein erhalten wir:

(20)
{ \vec u }^{\,\prime\prime}(t) = { \mathrm{d} \vec t(t) \over \mathrm{d} t } \, { \mathrm{d} t \over \mathrm{d} s } = \color{green}{ { \dot x \, \ddot y - \ddot x \, \dot y \over { \left[ { \dot x }^2 + { \dot y }^2 \right] }^{ 3/2 } } } \, \color{blue}{ { 1 \over \sqrt{ { \dot x }^2 + { \dot y }^2 } } \left\lgroup \matrix{ -\dot y \\ \dot x } \right\rgroup } = \color{green}{ { \dot x \, \ddot y - \ddot x \, \dot y \over { \left[ { \dot x }^2 + { \dot y }^2 \right] }^{ 3/2 } } } \, \color{ blue }{ \vec r }

Der blaue Term entspricht gerade dem radialen Einheitsvektor. Durch Vergleich mit der Formel (10): {\vec u}^{\,\prime\prime} = \color{green}{\kappa} \cdot \color{blue}{\vec r} sehen wir, dass der grüne Term der Krümmung \kappa entsprechen muss:

Damit erhalten wir für die Krümmung \kappa bzw. den Radius R des Krümmungskreises:

(21)
\kappa(t) = { 1 \over R(t) } = { \dot x \, \ddot y - \ddot x \, \dot y \over { \left[ { \dot x }^2 + { \dot y }^2 \right] }^{ 3/2 } }
mit
\dot x = { \mathrm{d} x(t) \over \mathrm{d} t } \qquad\qquad \ddot x = { \mathrm{d}^{2} x(t) \over \mathrm{d} t } \qquad\qquad \dot y = { \mathrm{d} y(t) \over \mathrm{d} t } \qquad\qquad \ddot y = { \mathrm{d}^{2} y(t) \over { \mathrm{d} t }^2 }
wobei'
\kappa(t) ' =' 'Krümmung der Kurve an der Stelle t
R(t) ' =' 'Radius des Krümmungskreises an der Stelle t

Formeln für Krümmungskreis an 2D-Kurve

Wenn der Radius des Krümmungskreises berechnet ist, kann mit Hilfe der Vektorrechnung sein Zentrum sehr einfach berechnet werden. Beachte, dass der Radius auch negativ werden kann. Dies ist dann der Fall, wenn sich die Kurve nach rechts krümmt. Durch das negative Vorzeichen kommt das Kreiszentrum automatisch auf die richtige Seite, wenn der Radius mit dem Radialvektor \vec r(t) multipliziert wird.

(22)
\vec Z(t) = \vec u(t) + R(t) \cdot \vec r(t)
(23)
Z_x (t) = x(t) - R(t) \, { \dot y(t) \over \sqrt{ { \dot x(t) }^2 + { \dot y(t) }^2 } }
(24)
Z_y(t) = y(t) + R(t) \, { \dot x(t) \over \sqrt{ { \dot x(t) }^2 + { \dot y(t) }^2 } }
(25)
R(t) = { 1 \over \kappa(t) } = { { \left[ { \dot x(t) }^2 + { \dot y(t) }^2 \right] }^{ 3 / 2 } \over \dot x(t) \, \ddot y(t) - \ddot x(t) \, \dot y(t) }
wobei'
x(t), y(t) ' =' 'In parametrischer Form vorliegende 2D-Kurve
R(t) ' =' 'Radius des Krümmungskreises, der den Punkt ( x(t) , y(t) ) berührt
Z_x(t) ' =' 'X-Koordinate des Zentrums des Krümmungskreises, der den Punkt ( x(t) , y(t) ) berührt
Z_y(t) ' =' 'Y-Koordinate des Zentrums des Krümmungskreises, der den Punkt ( x(t) , y(t) ) berührt

Eine interaktive Demo der obigen Formeln kannst du auf der folgenden Seite sehen:

 Krümmungskreis Animation

Weitere Informationen

Krümmungskreis; Wikipedia
https://de.wikipedia.org/wiki/Kr%FCmmungskreis
Kurvenkrümmung; Hans Walser; ETH Zürich
http://e-collection.library.ethz.ch/eserv/eth:25629/eth-25629-12.pdf
Dein Kommentar zu diesem Artikel
Name
Email optional; wird nicht angezeigt
Kommentar
  • Name wird bei deinem Kommentar angezeigt.
  • Email ist nur für den Administrator, sie wird nicht angezeigt.
  • Du kannst deine Kommentare eine Zeit lang editieren oder löschen.
  • Du kannst Formatierungen im Kommentar verwenden, z.B: Code, Formeln, usw.
  • Externen Links und Bilder werden nicht angezeigt, bis sie der Admin freischaltet.
Weitere Infos zur Seite
Erzeugt Mittwoch, 29. Juli 2015
von wabis
Zum Seitenanfang
Geändert Montag, 18. Juli 2016
von wabis