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 '16, 14:15

Hirshy's gravatar image

Hirshy
73133745
Akzeptiert-Rate: 0%

bearbeitet 07 Jun '16, 14: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 '16, 15:00) esdd

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

(07 Jun '16, 15: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, 22:33

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 08 Jun '16, 15: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, 22: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 '16, 08: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 '16, 11:50) Hirshy
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
×20

gestellte Frage: 07 Jun '16, 14:15

Frage wurde gesehen: 7,050 Mal

zuletzt geändert: 08 Jun '16, 15:37