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, 15:54

Ross's gravatar image

Ross
37591522
Akzeptiert-Rate: 100%

bearbeitet 16 Dez '13, 16:16

cgnieder's gravatar image

cgnieder
22.1k253463

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, 18: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, 13:26

sudo's gravatar image

sudo
2.0k51521
Akzeptiert-Rate: 39%

Perfekt! Danke! Damit kann ich arbeiten!

(18 Dez '13, 11: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, 16:36

stefan's gravatar image

stefan ♦♦
18.3k163148
Akzeptiert-Rate: 50%

bearbeitet 16 Dez '13, 16:36

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

(16 Dez '13, 17: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, 18: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, 08:12) Ross
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×730
×298

gestellte Frage: 16 Dez '13, 15:54

Frage wurde gesehen: 17,288 Mal

zuletzt geändert: 18 Dez '13, 11:05