Anzeige:
Ergebnis 1 bis 11 von 11

Thema: tikz: Ellipse in Perspektive?

  1. #1
    Registrierter Benutzer Avatar von Barny.G
    Registriert seit
    11.09.2008
    Beiträge
    120

    Question tikz: Ellipse in Perspektive?

    Hallo und moin moin,

    ich möchte gern eine grafisch korrekte Ellipse in der (räumlichen) Perspektive zeichnen. Mein code
    Code:
    \documentclass{scrreprt}
    \usepackage[ngerman]{babel}
    \usepackage[latin1]{inputenc}
    \usepackage{graphicx}
    \usepackage{float}
    
    \usepackage{amssymb}
    \usepackage{amsmath}
    \usepackage{mathrsfs} 
    \usepackage{tikz}
    \usetikzlibrary{shapes,arrows,positioning,calc,fit,intersections}
    
    \begin{document}
    
    \begin{figure}
    \beginpgfgraphicnamed{FwdOp}
    \begin{center}
    \begin{tikzpicture}[scale=1]
      \coordinate[] (Org) at (0,0);      % Nullpkt des KoordSystems
      \newcommand{\xachse}{4}            % Länge der pos. x-Achse
      \newcommand{\yachse}{\xachse/2}    % Länge der pos. y-Achse
      \newcommand{\zachse}{2*\xachse}    % Länge der pos. z-Achse
      \newcommand{\EllHA}{0.7*\xachse}   % Länge der Hauptachse der Ellipse
      \newcommand{\EllNA}{0.5*\EllHA}    % Länge der Nebenachse der Ellipse
      
    %  \newcommand{\Elemente}{15}         % Anzahl der Elemente
    %  \newcommand{\Quer}{\ModBreite/130} % Höhe der Gitterstriche
    %  \newcommand{\LTA}{8}               % Länge des LTA
    %  \newcommand{\STA}{3}               % Länge des STA
      
      % Beginn Koordinatensystem
        \draw[-latex] ($(Org) - (0:\xachse)$) --++(0:2*\xachse) node[right] {$x$};
        \draw[-latex] ($(Org) + (45+180:\yachse)$) --++(45:2*\yachse) node[right] {$y$};
        \draw[-latex] ($(Org) - (90:\zachse/10)$) --++(90:\zachse) node[right] {$z$};
        
      % Grundfläche
        \draw ($(Org)+(0:\xachse*0.7)$) arc [start angle=0, end angle=-180, x radius=\EllHA, y radius=\EllNA];
    
    
    \end{tikzpicture}
    \end{center}
    \endpgfgraphicnamed
    \caption{Vorwärtsoperator}
    \label{fig3}
    \end{figure}
    
    \end{document}
    zeigt im Großen und Ganzen was ich gern haben möchte. Nur die Ellipse spinnt noch herum

    Hat jemand eine Ahnung wie ich die so zurechtgebogen bekomme, dass die Schnittpunkte mit den Achsen rechte Winkel bilden?

    Viele Grüße

    Thomas
    ... mein Ball ist umgefallen

  2. #2
    Registrierter Benutzer Avatar von Barny.G
    Registriert seit
    11.09.2008
    Beiträge
    120
    Zitat Zitat von Barny.G Beitrag anzeigen
    Hat jemand eine Ahnung wie ich die so zurechtgebogen bekomme, dass die Schnittpunkte mit den Achsen rechte Winkel bilden?
    Vielleicht ist das ein wenig irreführend formuliert. Besser wäre wahrscheinlich: "dass die Perspektive stimmt."

    Denn so, wie die Ellipse jetzt in der XY-Ebene drinliegt stimmt sie ja nicht...

    Viele Grüße

    Thomas
    ... mein Ball ist umgefallen

  3. #3
    Registrierter Benutzer Avatar von Barny.G
    Registriert seit
    11.09.2008
    Beiträge
    120
    ... ich schon wieder ...

    Hat denn wirklich NIEMAND eine Idee?

    Hmm. Ist halt Urlaubszeit.
    ... mein Ball ist umgefallen

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Moin moin,
    Zitat Zitat von Barny.G Beitrag anzeigen
    Vielleicht ist das ein wenig irreführend formuliert. Besser wäre wahrscheinlich: "dass die Perspektive stimmt."
    und wie stimmt die Perspektive? Könntest Du das mal irgendwie skizzieren?
    BTW: vllt ist ja das tikz-3dplot-Paket was für Dich -- da bräuchtest Du nicht alles selbst `in Perspektive' zu rücken.;-)

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  5. #5
    Registrierter Benutzer Avatar von Barny.G
    Registriert seit
    11.09.2008
    Beiträge
    120
    Hallo rais,

    Hm, ich habe keine Ahnung wie ich eine Skizze hier hochladen kann...

    Ich versuch's mal mit einem Gedankenexperient:
    1. Wir haben einen Kreis mit zwei Koordinatenachsen, die senkrecht aufeinander stehen. (X-|Y)
    2. Wenn wir nun den Kreis um die X-Achse kippen, wird er zur Ellipse und gleichzeitig verschwindet die Y-Achse zunächst als kurzer Strich. (wenn wir noch eine Z-Achse hätten wäre sie ohnehin nicht mehr sichtbar)
    3. in der Kavalierperspektive (http://de.wikipedia.org/wiki/Kavalierperspektive) wird dem nun abgeholfen indem einfach diese Y-Achse (in der Zeichenebene) um 45° gedreht und damit wieder sichtbar wird.
    4. und genau hier ist mein Problem: betrachtet man die Ellipse aus 2) als halbstarren Gummi, dann beult sie bei dem gestauchten Stück stärker aus und wird in dem anderen Stück gestreckt.

    --> und genau das möchte ich gern berücksichtigen.

    Hoffentlich habe ich mich nicht ganz so unverständlich ausgedrückt...

    Hast Du (noch) eine Idee? (das tikz-3dplot-Paket kannte ich noch nicht - mal sehen, denn ich möchte nur ungern meine ganzen Skizzen noch einmal durcharbeiten um "echtes" 3D zu erzeugen...)

    Viele Grüße

    Thomas
    ... mein Ball ist umgefallen

  6. #6
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Vielleicht hilft ja dies hier weiter: http://tex.stackexchange.com/a/32087/17198

  7. #7
    Registrierter Benutzer Avatar von Barny.G
    Registriert seit
    11.09.2008
    Beiträge
    120
    Hallo hakaze,

    vielen Dank für Deinen Tip. Leider habe ich das auch schon gefunden gehabt...
    Zitat Zitat von hakaze Beitrag anzeigen
    Vielleicht hilft ja dies hier weiter: http://tex.stackexchange.com/a/32087/17198
    Mir ist durchaus bewusst, dass es (gerade) beim tikz nichts verschenkt wird und der Aufwand mit dem Anspruch steigt. Allerdings hatte ich gehofft, dass ich nur eine einfache Lösung meines Probems übersehen habe...

    Das Paket tikz-3DPlot macht auf den ersten Blick einen guten Eindruck und ich werde meine kleinen skripte wohl (oder übel) umstellen müssen.

    Vielen Dank an Euch beide!

    Thomas

    Ps.: Falls wider Erwarten doch noch eine Idee auftaucht: ich werde die nächsten zwei Wochen ohnehin hier nahezu täglich vorbei schauen. Also bitte posten
    ... mein Ball ist umgefallen

  8. #8
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Leider kann ich dir da auch noch nicht weiterhelfen. Ich habe auch erst gerade angefangen, mich mit tikz/pgf zu beschäftigen.

    Gerade das zweite Beispiel in dem Link, den ich gepostet hatte, erschien mir aber sehr ähnlich zu dem, was du suchst.

    Viel Erfolg!

  9. #9
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Moin Barny.G,
    Zitat Zitat von Barny.G Beitrag anzeigen
    Hm, ich habe keine Ahnung wie ich eine Skizze hier hochladen kann...
    beim Verfassen eines Beitrags gibt es einen Punkt `Anhänge verwalten', damit kannst Du diverse Formate hochladen.
    Wie dem auch sei,
    Zitat Zitat von Barny.G Beitrag anzeigen
    Ich versuch's mal mit einem Gedankenexperient:
    1. Wir haben einen Kreis mit zwei Koordinatenachsen, die senkrecht aufeinander stehen. (X-|Y)
    2. Wenn wir nun den Kreis um die X-Achse kippen, wird er zur Ellipse und gleichzeitig verschwindet die Y-Achse zunächst als kurzer Strich. (wenn wir noch eine Z-Achse hätten wäre sie ohnehin nicht mehr sichtbar)
    3. in der Kavalierperspektive (http://de.wikipedia.org/wiki/Kavalierperspektive) wird dem nun abgeholfen indem einfach diese Y-Achse (in der Zeichenebene) um 45° gedreht und damit wieder sichtbar wird.
    4. und genau hier ist mein Problem: betrachtet man die Ellipse aus 2) als halbstarren Gummi, dann beult sie bei dem gestauchten Stück stärker aus und wird in dem anderen Stück gestreckt.
    ich versuchs mal mit einem entsprechenden Gedankenspiel:
    • wenn ich das recht verstehe, müsste diese Ellipse ihre y-Achse unter dem selben Winkel schneiden, unter dem die x-Achse die y-Achse schneidet -- und umgekehrt.
    • und wenn ich mir die Bilder aus hakazes Link so anschaue, scheint das genau dann der Fall zu sein, wenn der längere Radius der Ellipse -- wie heißt sowas noch? -- gleichzeitig Winkelhalbierende zu den Koordinatenachsen ist, unter denen diese Ellipse als Kreis anzusehen sei, nun, dann
    • genügt es vllt doch, die Ellipse nur zu drehen (um halben Winkel, unter dem die dazugehörigen Achsen dargestellt werden sollen: zwischen x- und y-Achse hast Du hier 45°, ein Start wäre, die Ellipse (bzw. deren Hälfte, eine ganze Ellipse stellst Du ja nicht dar) um 22,5° zu verdrehen (\draw[rotate=...])
    • evtl. musst Du Dir dann noch Sorgen über die dargestellte Größe machen, aber zumindest die dargestellte Form sollte passen.

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  10. #10
    Registrierter Benutzer Avatar von Barny.G
    Registriert seit
    11.09.2008
    Beiträge
    120
    Hallo und moin moin,

    bin gerade aus einem kurzen Urlaub zurück und schwitze noch ein bisschen mein keybord voll Vielen Dank für die Hinweise und Vorschläge! Speziell:
    Zitat Zitat von rais Beitrag anzeigen
    • wenn ich das recht verstehe, müsste diese Ellipse ihre y-Achse unter dem selben Winkel schneiden, unter dem die x-Achse die y-Achse schneidet -- und umgekehrt.
    • und wenn ich mir die Bilder aus hakazes Link so anschaue, scheint das genau dann der Fall zu sein, wenn der längere Radius der Ellipse -- wie heißt sowas noch? -- gleichzeitig Winkelhalbierende zu den Koordinatenachsen ist, unter denen diese Ellipse als Kreis anzusehen sei, nun, dann
    • genügt es vllt doch, die Ellipse nur zu drehen (um halben Winkel, unter dem die dazugehörigen Achsen dargestellt werden sollen: zwischen x- und y-Achse hast Du hier 45°, ein Start wäre, die Ellipse (bzw. deren Hälfte, eine ganze Ellipse stellst Du ja nicht dar) um 22,5° zu verdrehen (\draw[rotate=...])
    • evtl. musst Du Dir dann noch Sorgen über die dargestellte Größe machen, aber zumindest die dargestellte Form sollte passen.
    Zu Punkt drei muss ich mir erst einmal ein paar Gedanken machen, werde aber sehr gern Anfang der Woche darauf zurückkommen...

    Viele Grüsse

    Thomas
    ... mein Ball ist umgefallen

  11. #11
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Lass das Beispiel mit XeLaTeX laufen oder latex->dvips->ps2pdf:

    Code:
    \documentclass{scrreprt}
    \usepackage{pst-3dplot}
    
    \begin{document}
    
    \psset{coorType=3,IIIDxTicksPlane=yz}
    \begin{pspicture}(-2,-2)(3,3)
    \pstThreeDCoor[IIIDticks,zMax=3,xMin=-2,yMin=-3]%
    \pstThreeDEllipse[linecolor=blue,linewidth=2pt](0,0,0)(1,0,0)(0,2,0)
    \pstThreeDEllipse[linecolor=green,linewidth=2pt](0,0,1)(2,0,0)(0,1,0)
    \end{pspicture}
    
    \end{document}

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •