Hallo,

ich will die folgende Zeichnung erstellen:

Open in Online-Editor
\documentclass{scrartcl}

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}

\begin{document}
\begin{figure}[h!]
\centering
    \begin{tikzpicture}[z=-0.5cm,scale=2]
        \draw[thick,->] (-2,0,0) -- (2,0,0) node[right]{$y$};
        \draw[thick,->] (0,0,0) -- (0,2,0) node[above]{$z$};
        \draw[thick,->] (0,0,-2) -- (0,0,2) node[left]{$x$};
        \draw[thick,domain=-4:4,samples=100,variable=\x,dashed] plot({sin(\x r)},{0},{cos(\x r)});
    \end{tikzpicture}
\end{figure}
\end{document}

Ein Teil des Kreises wird allerdings durchgezeichnet und ich kann mir nicht erklären wieso. Ich könnte statt dashed auf dotted zurückgreifen, würde das aber nur ungern machen, da ich später noch einzelne Punkte auf der Linie mit ausgefüllten Kreisen markieren will

Nachtrag: mir fällt gerade auf, dass bei dotted der hintere Teil der Kreislinie enger gesetzt wird, hat das einfach mit der 3D Ansicht zu tun?

gefragt 07 Jun, 08:15

Hirshy's gravatar image

Hirshy
306214
Akzeptiert: 85%

bearbeitet 07 Jun, 08:25

3

Ursache dürfte domain=-4:4 sein. Dadurch zeichnest Du ein Stück des Kreises doppelt. Die kleinen Striche sind beim zweiten Mal an etwas anderer Stelle und dadurch entsteht der Eindruck eines durchgezogenen Linienstückes. Verwende domain=-pi:pi oder domain=0:2*pi

(07 Jun, 09:00) esdd

duh Das kommt wohl davon, wenn man den Befehl inklusive Definitionsbereich von einer anderen Aufgabe kopiert. Danke!

(07 Jun, 09:04) Hirshy

Mit domain=-4:4 wird ein Teil des Kreises zwei Mal gezeichnet. Die kleinen Striche sind dabei nicht deckungsgleich und dadurch scheint die Linie in dem Bereich durchgezogen zu sein. Wenn Du statt dessen

Open in Online-Editor
domain=-pi:pi

oder domain=0:2*pi verwendest, bekommst Du das gewünschte Ergebnis:

alt text


Das war zwar jetzt nicht gefragt, aber ich würde x, y und z so definieren, dass sie mit der Zeichnung übereinstimmen.

Open in Online-Editor
\documentclass{scrartcl}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\tikzset{
  xyz/.style={x={(-.5cm,-.5cm)},y={(1cm,0cm)},z={(0cm,1cm)}}
}

\begin{document}
\begin{figure}[h!]
\centering
    \begin{tikzpicture}[xyz,scale=2]
        \draw[thick,->] (-2,0,0) -- (2,0,0) node[left]{$x$};
        \draw[thick,->] (0,-2,0) -- (0,2,0) node[right]{$y$};
        \draw[thick,->] (0,0,0) -- (0,0,2) node[above]{$z$};
        \draw[thick,domain=-pi:pi,samples=100,variable=\x,dashed]
            plot({cos(\x r)},{sin(\x r)},{0});
    \end{tikzpicture}
\end{figure}
\end{document}

Das Ergebnis ist das gleiche wie oben.

Da TikZ standardmäßig in der xy-Ebene zeichnet(siehe Kommentar von @Henri), lässt sich dieser Kreis dann auch einfach mit

Open in Online-Editor
\draw[dashed]circle[radius=1];

erzeugen.

alt text

Code:

Open in Online-Editor
\documentclass{scrartcl}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\tikzset{
  xyz/.style={x={(-.5cm,-.5cm)},y={(1cm,0cm)},z={(0cm,1cm)}}
}

\begin{document}
\begin{figure}[h!]
\centering
    \begin{tikzpicture}[xyz,scale=2]
        \draw[thick,->] (-2,0,0) -- (2,0,0) node[left]{$x$};
        \draw[thick,->] (0,-2,0) -- (0,2,0) node[right]{$y$};
        \draw[thick,->] (0,0,0) -- (0,0,2) node[above]{$z$};
        \draw[dashed]circle[radius=1];
    \end{tikzpicture}
\end{figure}
\end{document}

Außerdem gibt es noch eine 3d Bibliothek, die aber meines Wissens keine Doku hat. Mit der kann man auch einen Kreis zeichnen lassen, wenn er in einer zur xy-, yz- oder xz-Ebene parallelen Ebene liegt.

Open in Online-Editor
\documentclass{scrartcl}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{3d}
\tikzset{
  xyz/.style={x={(-.5cm,-.5cm)},y={(1cm,0cm)},z={(0cm,1cm)}}
}

\begin{document}
\begin{figure}[h!]
\centering
    \begin{tikzpicture}[xyz,scale=2]
        \draw[thick,->] (-2,0,0) -- (2,0,0) node[left]{$x$};
        \draw[thick,->] (0,-2,0) -- (0,2,0) node[right]{$y$};
        \draw[thick,->] (0,0,0) -- (0,0,2) node[above]{$z$};
        \draw[dashed,canvas is xy plane at z=.75 ]circle[radius=1];
    \end{tikzpicture}
\end{figure}
\end{document}

alt text

Permanenter link

beantwortet 07 Jun, 16:33

esdd's gravatar image

esdd
14.2k53251

bearbeitet 08 Jun, 09:37

1

Ein reines \draw[dashed] (0,0,0) circle (1); reicht übrigens auch. TikZ malt den Kreis standardmäßig in die xy-Ebene.

(07 Jun, 16:47) Henri

@Henri Danke, dass war mir jetzt gar nicht so bewusst. Ich habe das jetzt einfach übernommen und für das letzte Beispiel eine andere Ebene gewählt.

(08 Jun, 02:59) esdd

"Das war zwar jetzt nicht gefragt, aber ich würde x, y und z so definieren, dass sie mit der Zeichnung übereinstimmen." Das man das so umdefinieren kann, ist ja super, danke!

(08 Jun, 05:50) Hirshy
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
×19

Frage gestellt: 07 Jun, 08:15

Frage wurde angeschaut: 1,171 Mal

Zuletzt aktualisiert: 08 Jun, 09:37