Hi liebe LaTeX-Freunde,

ich bin ein ziemlicher Neuling was den Umgang mit LaTeX betrifft und stehe vor dem Problem, dass ich eine Ellipse der Form:

x^2+a*xy+y^2=b,

plotten möchte, wobei a eine reelle Konstante sein soll und b verschiedene natürliche Zahlen annehmen (sprich die Ellipse in unterschiedlichen Größen in einem Koordinatensystem dargestellt sein soll, z.B. b=1,2,3,...). Ich habe verstanden, wie ich mit den TikZ und pgfplots packages normale Funktionen zeichnen kann, aber wie sieht es mit der Lösung der obigen Gleichung aus? Ist das überhaupt so einfach möglich wie ich mir das erhoffe? Es wäre super, wenn mir einer von euch auf die Sprünge helfen könnte!

Viele Grüße Ross

gefragt 16 Dez '13, 09:54

Ross's gravatar image

Ross
355522
Akzeptiert: 86%

bearbeitet 16 Dez '13, 10:16

Clemens's gravatar image

Clemens
19.0k113060

Weitere Ideen: raw gnuplot mit Tikz, und \psplotImp mit PSTricks, evtl. hat jemand Zeit dafür, das zu testen (ich im Augenblick noch nicht).

(16 Dez '13, 12:37) stefan ♦♦

Rechnen

Ohne ein wenig zu rechnen, geht es wahrscheinlich nicht. Du kannst deine implizite Gleichung nach x und y auflösen oder in Polarkoordinaten transformieren.

x = 1/2 (±sqrt(a^2 y^2+4 b-4 y^2)-a y)

y = 1/2 (±sqrt(a^2 x^2+4 b-4 x^2)-a x)

x = r cos(phi)

y = r sin(phi)

r = sqrt(2b/(a sin(2 phi) + 2))

Bedeutung

b steht in der Gleichung für die Achsenabschnitte. Beide Achsen werden bei ±b geschnitten. a parametriert die Exentrizität. Dabei ergeben sich für 0<a<2 Ellipsen, a=0 ist ein Kreis, a=2 sind zwei Geraden und a>2 sind Hyperbeln.

Code

Die wahrscheinlich beste Variante ist, in Polarkoordinaten zu transformieren und dann mit plot (x=r*cos phi, y=r*sin phi) zu arbeiten.

\documentclass[margin=2mm, tikz]{standalone}
\begin{document}
\begin{tikzpicture}[samples=100, smooth]
\draw plot[domain=0:360] ({cos(\x)*sqrt(4/(sin(2*\x)+2))},{sin(\x)*sqrt(4/(sin(2*\x)+2))});
\end{tikzpicture}
\end{document}

Beispiel

alt text

Verallgemeinerung

Man kann die Formel verallgemeinern zu

a^2 x^2 + b^2 x y + c^2 y^2 = 1

Welche Variable dabei welche Bedeutung zukommt überlasse ich dem geneigten Leser ;-)

Permanenter link

beantwortet 17 Dez '13, 07:26

sudo's gravatar image

sudo
1.9k1817

Perfekt! Danke! Damit kann ich arbeiten!

(18 Dez '13, 05:05) Ross

Da hier a und b, also die Halbachsen bekannt sind, ein solches Beispiel mit pgfplots, aus dem Handbuch:

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.5.1}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    xmin=-2.5, xmax=2.5,
    ymin=-2.5, ymax=2.5,
    xtick={-2,-1,0,1,2},
    ytick={-2,-1,0,1,2},
    grid=major,
    ]
    % Standard TikZ-Syntax:
    \draw[black] (axis cs:0,0) ellipse [ x radius=1, y radius=2];
    \draw[red] (axis cs:0,0) ellipse [rotate=90, x radius=1, y radius=2];
    % siehe \pgfplotspointaxisdirectionxy für beliebige Ellipsen
  \end{axis}
\end{tikzpicture}
\end{document}

Ellipsen

Permanenter link

beantwortet 16 Dez '13, 10:36

stefan's gravatar image

stefan ♦♦
5.8k12234

bearbeitet 16 Dez '13, 10:36

Nur wie komme ich von a und b aus obiger Gleichung auf die Halbachsen und den Rotations-Winkel?

(16 Dez '13, 11:29) Ross

Etwas Mathematik, sieheEllipse in der Wikipedia, a und b stehen dort in der Mittelpunktgleichung, Deine implizite Form ist weiter unten genannt. Das könnte man umrechnen (multipliziere mal implizite Gleichung mit a^2 b^2).

(16 Dez '13, 12:35) stefan ♦♦

Irgendwie schein ich mich gerade ganz dumm anzustellen, aber ich finde meine implizite Form in dem Wikipedia Artikel nirgends, lediglich die Form x^2/a^2+y^2/b^2=1, wie ich diese Form allerdings auf x^2+cxy+y^2=d umformen kann erschließt sich mir leider noch nicht so ganz :/

(17 Dez '13, 02:12) Ross
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×160

Frage gestellt: 16 Dez '13, 09:54

Frage wurde angeschaut: 4,445 Mal

Zuletzt aktualisiert: 18 Dez '13, 05:05