# Implizite Kurve

Eine implizite Kurve ist in der Mathematik eine Kurve in der euklidischen Ebene, die durch eine Gleichung der Form
    $F(x,y)=0$
beschrieben wird. Eine implizite Kurve ist also die Gesamtheit der Nullstellen einer Funktion von zwei Variablen. Implizit bedeutet, dass die Gleichung der Kurve nicht nach $x$ oder $y$ aufgelöst ist.
Funktionsgraphen werden in der Regel durch eine Gleichung $y=f(x)$ beschrieben und sind deswegen explizit dargestellte Kurven. Die dritte wichtige Beschreibung von Kurven ist die Parameterdarstellung: $(x(t),y(t))$. Dabei werden die $x$- und $y$-Koordinaten von Kurvenpunkten durch zwei von einem gemeinsamen Parameter abhängigen Funktionen $x(t)\,,y(t)$ beschrieben. Der Übergang von einer Darstellung zu einer anderen ist in der Regel nur einfach, wenn eine explizite Darstellung $y=f(x)$ vorliegt: $y-f(x)=0$ (implizit), $(t,f(t))$ (parametrisiert).
Beispiele impliziter Kurven:
* eine Gerade: $x+2y-3=0$
* ein Kreis: $x^{2}+y^{2}-4=0$
* die Neilsche Parabel: $x^{3}-y^{2}=0$
* Cassini-Kurven $(x^{2}+y^{2})^{2}-2c^{2}(x^{2}-y^{2})-(a^{4}-c^{4})=0$ (siehe Bild),
* $\sin(x+y)-\cos(xy)+1=0$ (siehe Bild).
Während die ersten drei Beispiele auch einfache Parameterdarstellungen besitzen, ist dies beim 4. und 5. Beispiel nicht der Fall. Beispiel 5) zeigt, dass eine implizite Kurve aus verwirrend vielen Teilkurven bestehen kann.
Man kann mit dem Satz über implizite Funktionen nachweisen, dass unter gewissen Voraussetzungen eine Gleichung $F(x,y)=0$ (theoretisch) nach $x$ und/oder nach $y$ auflösbar ist. Allerdings ist die Auflösung meistens praktisch unmöglich. Dieses theoretische Ergebnis ist aber der Schlüssel, um anhand der gegebenen Funktion $F$ wesentliche geometrische Eigenschaften wie Tangenten, Normalen und Krümmungen in bekannten Kurvenpunkten zu berechnen (s. unten). Dass implizite Kurven in der Praxis nicht sehr beliebt sind, liegt an einem großen Nachteil: Während man für eine parametrisierte Kurve oder Funktionsgraphen leicht beliebig viele Punkte berechnen kann, ist dies für implizite Kurven in der Regel nicht der Fall. Allerdings haben implizite Darstellungen von Kurven auch ihre Vorteile (s. unten).
    Ist $F(x,y)$ ein Polynom in $x$ und $y$, so nennt man die zugehörige Kurve algebraisch.
Beispiel 5) ist nicht algebraisch.
Bemerkung: Eine implizite Kurve mit der Gleichung $F(x,y)=0$ kann man zum besseren Verständnis auch als Niveaulinie der Höhe 0 der Fläche $z=F(x,y)$ auffassen (s. 3. Bild).

## Formeln

Für die folgenden Formeln wird die implizite Kurve immer durch eine Gleichung $F(x,y)=0$ beschrieben, wobei die Funktion $F$ die notwendigen Differenzierbarkeitsvoraussetzungen erfüllt. Die partiellen Ableitungen von $F$ werden mit $F_{x}$, $F_{y}$, $F_{xx}$ usw. bezeichnet.

### Tangente und Normalenvektor

Ein Kurvenpunkt $(x_{0},y_{0})$ heißt regulär, falls
* $(F_{x}(x_{0},y_{0}),F_{y}(x_{0},y_{0}))\neq (0,0)$
gilt, andernfalls heißt der Punkt singulär.
Die Gleichung der Tangente in einem regulären Kurvenpunkt $(x_{0},y_{0})$ ist
* $F_{x}(x_{0},y_{0})(x-x_{0})+F_{y}(x_{0},y_{0})(y-y_{0})=0$ und
    $\mathbf {n} (x_{0},y_{0})=(F_{x}(x_{0},y_{0}),F_{y}(x_{0},y_{0}))^{T}$ ist ein Normalenvektor.

### Krümmung

Um die Formel übersichtlich zu halten, wurden hier die Argumente $(x_{0},y_{0})$ weggelassen:
* $\kappa ={\frac {-F_{y}^{2}F_{xx}+2F_{x}F_{y}F_{xy}-F_{x}^{2}F_{yy}}{(F_{x}^{2}+F_{y}^{2})^{3/2}}}$ ist die Krümmung der Kurve in einem regulären Punkt.

## Herleitung der Formeln

Der Satz über implizite Funktionen (im einfachsten Fall) besagt:
* Gilt für eine hinreichend oft differenzierbare Funktion $F$ von zwei Variablen in einem Punkt $(x_{0},y_{0})$ sowohl $F(x_{0},y_{0})=0$ als auch $F_{y}(x_{0},y_{0})\neq 0$, so existiert in einer Umgebung von $x_{0}$ eine Funktion $f$ mit $F(x,f(x))=0$.
Die Ableitungen der Funktion $f$ ergeben sich durch implizites Differenzieren mit der Kettenregel:
* $f'(x)=-{\frac {F_{x}(x,f(x))}{F_{y}(x,f(x))}}$
    $f''={\frac {-F_{y}^{2}F_{xx}+2F_{x}F_{y}F_{xy}-F_{x}^{2}F_{yy}}{F_{y}^{3}}}$ (Hier wurden die Argumente weggelassen.)
Setzt man die so berechneten Ableitungen von $f$ in die Formeln für die Tangente und Krümmung eines Funktionsgraphen $(x,f(x))$:
* $y=f(x_{0})+f'(x_{0})(x-x_{0})$ (Tangente)
    $\kappa (x_{0})={\frac {f''(x_{0})}{(1+f'(x_{0})^{2})^{3/2}}}$ (Krümmung)
ein, so ergeben sich die obigen Formeln für die Tangente und Krümmung einer impliziten Kurve.
Bemerkung: Ist eine Auflösung nach x möglich, so ergeben sich dieselben Formeln für die Tangente und Krümmung der impliziten Kurve.

## Vor- und Nachteile impliziter Kurven
### Nachteil

Der oben schon erwähnte wesentliche Nachteil impliziter Kurven ist die prinzipielle Schwierigkeit einzelne Kurvenpunkte zu berechnen, was z. B. für die Visualisierung einer Kurve unbedingt nötig ist. Siehe hierzu den nächsten Abschnitt.

### Vorteile

* Implizite Darstellungen von Kurven haben insbesondere bei der Berechnung von Schnittpunkten zweier Kurven große Vorteile: Liegt eine Kurve implizit und die andere parametrisiert vor, so muss zur Schnittpunktbestimmung nur das gewöhnliche eindimensionale Newton-Verfahren eingesetzt werden. In den Fällen implizit-implizit oder parametrisiert-parametrisiert ist der Einsatz des zweidimensionalen Newton-Verfahrens nötig. Siehe hierzu: Schnittpunkt.
* Eine implizite Darstellung $F(x,y)=0$ bietet die Möglichkeit anhand des Vorzeichens von $F(x,y)$ die Punkte der Ebene in zwei Teilmengen einzuteilen. So kann man z. B. anhand des Vorzeichens von $F(x,y)=x^{2}+y^{2}-1$ erkennen, ob ein Punkt innerhalb oder außerhalb des Einheitskreises liegt. Dies kann wichtig sein, falls man Startpunkte für die Schnittpunktbestimmung von Kurven sucht oder falls man statt des Newton-Verfahrens die Regula falsi verwenden möchte.
* Zu einer implizit gegebenen Kurve $F(x,y)=0$ lassen sich leicht ähnliche Kurven angeben, indem man Kurven mit $F(x,y)-c=0$ für betragsmäßig kleine Zahlen $c$ betrachtet. (Siehe Abschnitt Glatte Approximationen konvexer Polygone.)

## Anwendungen impliziter Kurven

In der Mathematik spielen implizite Kurven in dem Bereich der algebraische Kurven eine wichtige Rolle. Neben diesem klassischen Anwendungsgebiet bieten implizite Kurven einfache Möglichkeiten, neue Kurven zu gestalten. Es folgen zwei Methoden:

### Glatte Approximationen konvexer Polygone

Zur glatten Approximation von konvexen Polygonen sind implizite Kurven besonders gut geeignet: Liegen die $n$ Seiten eines konvexen Polygons auf den Geraden mit den Gleichungen $g_{i}(x,y)=a_{i}x+b_{i}y+c_{i}=0,\ i=1,\dotsc ,n$ so, dass das Innere des Polygons in den Positivbereichen der Funktionen $g_{i}$ liegt, so beschreibt die implizite Kurve
    $F(x,y)=g_{1}(x,y)\dotsb g_{n}(x,y)-c=0$
für geeignete positive Zahlen $c$ glatte (differenzierbare) Approximationen des Polygons. Zum Beispiel ergeben
    $F(x,y)=(x+1)(-x+1)y(-x-y+2)(x-y+2)-c=0$ für $c=0{,}03,\dotsc ,0{,}6$
die im Bild gezeigten glatten Approximationen eines Fünfecks.

#### Bemerkung 1

Schließt man den Grenzfall „zwei Geraden“ mit ein, so erhält man nach der beschriebenen Konstruktion mit
    $F(x,y)=g_{1}(x,y)g_{2}(x,y)-c=0$
entweder eine Schar paralleler Geraden, falls die gegebenen Geraden parallel sind oder die Schar der Hyperbeln mit den gegebenen Geraden als Asymptoten, falls sich die Geraden schneiden. Z. B. liefert das Produkt der x-Achse mit der y-Achse: $xy-c=0,\ c\neq 0$, die Schar aller Hyperbeln mit den Koordinatenachsen als Asymptoten.

#### Bemerkung 2

Verwendet man statt der Geraden andere einfache implizite Kurven (Kreise, Parabeln, …) so lassen sich auch gezielt interessante Kurven gestalten. Z. B.
    $F(x,y)=y(-x^{2}-y^{2}+1)-c=0$
(Produkt eines Kreises mit der x-Achse) liefert glatte Approximationen eines Halbkreises (siehe Bild). Und
    $F(x,y)=(-x^{2}-(y+1)^{2}+4)(-x^{2}-(y-1)^{2}+4)-c=0$
(Produkt zweier Kreise) sind glatte Approximationen eines Kreis-Zweiecks (siehe Bild).

### Übergangskurven

Im Computerdesign-Bereich verwendet man implizite Kurven, um Übergangskurven von besonders hoher Güte (geometrische Stetigkeit) herzustellen. Zum Beispiel liefert die folgende einfache Konstruktion
    $F(x,y)=(1-\mu )f_{1}f_{2}-\mu (g_{1}g_{2})^{3}=0$
krümmungsstetige Übergangskurven zwischen den beiden implizit gegebenen Kreisen
    $f_{1}(x,y)=(x-x_{1})^{2}+y^{2}-r_{1}^{2}=0$
    $f_{2}(x,y)=(x-x_{2})^{2}+y^{2}-r_{2}^{2}=0$
(siehe Bild). Die beiden Geraden
    $g_{1}(x,y)=x-x_{1}=0,\ g_{2}(x,y)=x-x_{2}=0$
bestimmen die Berührpunkte der Übergangskurven an den Kreisen. Der Parameter $\mu$ ist ein Designparameter. Im Bild ist $\mu =0{,}05,\dotsc ,0{,}2$. Als Übergangskurven dienen nur die mittleren Kurventeile. Ein Fahrzeug könnte also ohne Ruck entlang der Übergangskurve von dem einen Kreisbogen auf den anderen fahren.

### Äquipotentiallinien zweier gleicher Punktladungen

Die Äquipotentiallinien zweier gleicher Punktladungen in den Punkten $P_{1}=(1,0);\;P_{2}=(-1,0)$ lassen sich implizit durch
    $f(x,y)={\frac {1}{|PP_{1}|}}+{\frac {1}{|PP_{2}|}}-c$
          $={\frac {1}{\sqrt {(x-1)^{2}+y^{2}}}}+{\frac {1}{\sqrt {(x+1)^{2}+y^{2})}}}-c=0$
beschreiben. Für $c=2$ ergibt sich die Kurve durch den Ursprung und hat einen Doppelpunkt. Die Kurven sehen wie Cassinische Kurven aus, sind aber keine.

## Visualisierung einer impliziten Kurve

Zur Visualisierung einer Kurve berechnet man in der Regel ein Polygon aus Kurvenpunkten und zeichnet dieses Polygon. Bei einer parametrisierten Kurve ist dies kein Problem: Man kann zu einer vorgegebenen Folge von Parametern die zugehörige Folge von Kurvenpunkten direkt berechnen. Bei einer impliziten Kurve muss man zwei Teilprobleme lösen:
* zu einem Startpunkt in der Nähe der Kurve einen Kurvenpunkt berechnen,
* von einem bekannten Kurvenpunkt aus einen Startpunkt für einen weiteren Kurvenpunkt bestimmen.
Für die Lösung beider Probleme ist es günstig, vorauszusetzen, dass $\operatorname {grad} F$ nicht der Nullvektor ist. Dies scheint eine starke Einschränkung zu sein. In der Regel ist diese Voraussetzung aber nur in isolierten Punkten verletzt und in der Praxis ist es eher unwahrscheinlich, dass man auf genau solch einen Punkt trifft.

### Punktalgorithmus

Bei einer impliziten Kurve benötigt man ein Computerprogramm ${\mathsf {KPunkt}}$, das zu einem Startpunkt $Q_{0}=(x_{0},y_{0})$ in der Nähe der Kurve einen Kurvenpunkt $P$ berechnet:
    (P1) Für den Startpunkt ist $j=0$.
    (P2) Wiederhole
       $(x_{j+1},y_{j+1})=(x_{j},y_{j})-{\frac {F(x_{j},y_{j})}{F_{x}(x_{j},y_{j})^{2}+F_{y}(x_{j},y_{j})^{2}}}\,\left(F_{x}(x_{j},y_{j}),F_{y}(x_{j},y_{j})\right)$
          (Newtonschritt für die Funktion $g(t)=F\left(x_{j}+tF_{x}(x_{j},y_{j}),y_{j}+tF_{y}(x_{j},y_{j})\right)$),
    (P3) bis der Abstand zwischen den Punkten $(x_{j+1},y_{j+1}),\,(x_{j},y_{j})$ klein genug ist.
    (P4) $(x_{j+1},y_{j+1})$ ist ein Kurvenpunkt in der Nähe des Startpunktes $Q_{0}$.

### Verfolgungsalgorithmus

Um ein Polygon auf der impliziten Kurve mit einer Schrittweite $\approx s$ zu erzeugen
    (V1) wählt man einen geeigneten Startpunkt in der Nähe der Kurve.
    (V2) berechnet mit ${\mathsf {KPunkt}}$ den ersten Kurvenpunkt $P_{1}$.
    (V3) berechnet die Tangente (s. oben), wählt auf der Tangente mit der Schrittweite $s$ einen weiteren Startpunkt und berechnet mit ${\mathsf {KPunkt}}$ den zweiten Kurvenpunkt $P_{2}$.
    $\cdots$
Da der Algorithmus dem Verlauf der Kurve folgt, nennt man ihn Verfolgungsalgorithmus. Der Algorithmus liefert immer nur einzelne Komponenten der impliziten Kurve. Eventuell muss man ihn mehrmals mit geeigneten Startpunkten durchlaufen.

### Rasteralgorithmus

Besteht die implizite Kurve aus vielen Teilkurven, so liefert der folgende Rasteralgorithmus eine gute Visualisierung der Kurve:
    (R1) Erzeuge ein Netz (Raster) in dem fraglichen Bereich der x-y-Ebene.
    (R2) Verwende jeden Punkt des Rasters als Startpunkt für den Punktalgorithmus ${\mathsf {KPunkt}}$ und markiere den so erhaltenen Kurvenpunkt.
Macht man das Netz sehr dicht, erhält man einen guten Eindruck von der impliziten Kurve und kann anschließend interessante Teile mit dem Verfolgungsalgorithmus bearbeiten.
Beispiel: Das Bild zeigt ein (zur Demonstration grobes) Raster mit den zugehörigen berechneten Kurvenpunkten für die implizite Kurve mit der Gleichung:
    $F(x,y)=(3x^{2}-y^{2})^{2}y^{2}-(x^{2}+y^{2})^{4}=0$
(Zur Herstellung des Bildes wurde ein optimierter Algorithmus benutzt, bei dem nicht mehr jeder Rasterpunkt als Startpunkt verwendet wird.)

### Software

Implizite Kurven lassen sich mit Hilfe geeigneter Visualisierungsprogramme grafisch darstellen, zum Beispiel mit der freien Software
* GeoGebra (nur für algebraische Kurven) oder
* Gnuplot.
Verweise auf weitere freie Software finden sich im Abschnitt Weblinks.

## Implizite Raumkurven

Eine Kurve im Raum, die durch 2 Gleichungen
    ${\begin{matrix}F(x,y,z)=0,\\G(x,y,z)=0\end{matrix}}$
beschrieben wird, heißt implizite Raumkurve.
Ein Kurvenpunkt $(x_{0},y_{0},z_{0})$ heißt regulär, wenn das Kreuzprodukt der Gradienten von $F$ und $G$ in diesem Punkt nicht den Nullvektor ergibt:
    $\mathbf {t} (x_{0},y_{0},z_{0})=\operatorname {grad} F(x_{0},y_{0},z_{0})\times \operatorname {grad} G(x_{0},y_{0},z_{0})\neq (0,0,0)$
ist, andernfalls singulär. Der Vektor $\mathbf {t} (x_{0},y_{0},z_{0})$ ist ein Tangentenvektor im Punkt $(x_{0},y_{0},z_{0})$ an die Raumkurve.
Beispiele:
$(1)\quad x+y+z-1=0\ ,\ x-y+z-2=0$
       beschreibt eine Gerade.
$(2)\quad x^{2}+y^{2}+z^{2}-4=0\ ,\ x+y+z-1=0$
       beschreibt einen ebenen Schnitt einer Kugel, also einen Kreis.
$(3)\quad x^{2}+y^{2}-1=0\ ,\ x+y+z-1=0$
       beschreibt eine Ellipse (ebener Zylinderschnitt).
$(4)\quad x^{2}+y^{2}+z^{2}-16=0\ ,\ (y-y_{0})^{2}+z^{2}-9=0$
       beschreibt die Schnittkurve einer Kugel mit einem Zylinder.
Zur Berechnung von Kurvenpunkten und zur Visualisierung einer impliziten Raumkurve siehe Schnittkurve.