
Ich versuche, einen 3D-Pfeil in eine 3D-Box zu zeichnen (naja, eigentlich jede Menge davon). Die 3D-Box habe ich sortiert, aber der Pfeil sieht nicht ganz richtig aus. Ich habe meine Achsen/Projektion wie folgt eingerichtet:
\usepackage{tikz-3dplot}
\tdplotsetmaincoords{90}{90}
\tdplotsetrotatedcoords{0}{20}{70}
Aber die Pfeile befolgen die Projektion nicht. Sie sind 2D, sehen aber auf der xy-Ebene der Box nicht flach aus, sie sind in Bezug auf die Seite immer noch flach. Weiß jemand, wie man das beheben kann?
Außerdem suche ich idealerweise nach großen 3D-Blockpfeilen, kann aber keine Beispiele dafür finden. Irgendwelche Ideen?
Prost.
Bearbeiten: Wie gewünscht, hier ein MWE:
\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows}
\tikzset{>=latex}
\usepackage{tikz-3dplot}
\tdplotsetmaincoords{90}{90}
\tdplotsetrotatedcoords{0}{20}{70}
\begin{document}
\begin{tikzpicture}
\begin{scope}[fill={rgb:red,1;green,2;blue,10},fill opacity=0.4]
\draw [fill] (0,0,0)--(4,0,0)--(4,4,0)--(0,4,0)--cycle;
\draw [fill] (0,0,0)--(4,0,0)--(4,0,1)--(0,0,1)--cycle;
\draw [fill] (0,0,0)--(0,4,0)--(0,4,1)--(0,0,1)--cycle;
\draw [fill] (4,0,0)--(4,4,0)--(4,4,1)--(4,0,1)--cycle;
\draw [fill] (4,4,0)--(0,4,0)--(0,4,1)--(4,4,1)--cycle;
\draw [fill] (0,0,1)--(4,0,1)--(4,4,1)--(0,4,1)--cycle;
\end{scope}
\begin{scope}[->, ultra thick]
\draw[->] (2,2,1/2)--++(180:1.5)--++(0:3);
\end{scope}
\end{tikzpicture}
\end{document}
Das Ergebnis:
Hoffentlich können Sie das Problem erkennen. Es sieht nicht so aus, als ob der Pfeil in der Schachtel wäre, er wäre nur darüber gelegt worden.
Antwort1
Sie haben die von Ihnen eingerichtete Hauptkoordinate nicht verwendet. Um sie zu verwenden, fügen Sie [tdplot_main_coords]
nachher hinzu \begin{tikzpicture}
:
\begin{tikzpicture}[tdplot_main_coords]
Wenn Sie dies tun, erhalten Sie ein blaues Rechteck mit einem nach oben gerichteten Pfeil von der Mitte aus, da der erste Parameter \tdplotsetmaincoords
der Winkel (in Grad) ist, um den der Koordinatenrahmen gedreht wirdXAchse und der zweite Parameter ist die Drehung umzAchse. Lesen Sie tikz-3dplot
die Dokumentation für eine ausführlichere Erklärung:http://mirrors.ctan.org/graphics/pgf/contrib/tikz-3dplot/tikz-3dplot_documentation.pdf
Wenn Sie \tdplotsetmaincoords{90}{90}
zu ändern, \tdplotsetmaincoords{100}{20}
erhalten Sie Folgendes: