Hallo TeXWelt-Gemeinde! Ich möchte gerne einen räumlichen Koordinatenursprung für eine orthogonale Basis darstellen. In tikz nutze ich dazu folgenden Code-Schnipsel: Open in writeLaTeX
\documentclass{standalone} \usepackage{tikz} %%%%%%%%%%%%%%%%%%%%% % let's go %%%%%%%%%%%%%%%%%%%%% \begin{document} \begin{tikzpicture} \draw [-latex,very thin] (0,-0) -- (0:0.7); \draw [-latex,very thin] (0,0) -- (45:0.7); \draw [-latex,very thin] (0,0) -- (90:0.7); \draw[black,inner color=white, very thin] (0,0) circle (2pt); \end{tikzpicture} \end{document} Um das ganze nun etwas räumlicher wirken zu lassen, möchte ich die Pfeilspitzenenden parallel zu jeweils einer benachbarten Pfeilrichtung ausrichten. Folgendes Beispiel (mit wysiwyg-software gezeichnet) verdeutlicht das angestrebte Ergebnis: Gibt es eine Möglichkeit, dies in tikz umzusetzen? Viele Grüße Dirk |
Fein fein, funktioniert sehr gut! Open in writeLaTeX
\documentclass[10pt]{standalone} \usepackage{tikz} \usepackage{amsmath} \tikzset{ xpfeil/.pic={\path[pic actions,rounded corners=0.3pt] (\pgflinewidth,0,0)--(-1,-.4,0)--(-1,.4,0)--cycle;}, ypfeil/.pic={\path[pic actions,rounded corners=0.3pt](0,\pgflinewidth,0)--(-0.4,-1,0)--(.4,-1,0)--cycle;}, zpfeil/.pic={\path[pic actions,rounded corners=0.3pt] (0,0,\pgflinewidth)--(0,-0.4,-1)--(0,.4,-1)--cycle;}, } %%%%%%%%%%%%%%%%%%%%% % let's go %%%%%%%%%%%%%%%%%%%%% \begin{document} \begin{tikzpicture}[ black, very thin, %>=latex, x={(2cm,0cm)},y={(1cm,1cm)}, z={(0cm,2cm)}, font=\footnotesize, pfeil/.style={fill=black,scale=0.15} ] %3D-Koordinatensystem: \draw (0,0,0) -- (0.5,0,0) node[sloped,below,]{$\boldsymbol e_1$} pic[pfeil]{xpfeil} ; \draw (0,0,0) -- (0,.65,0) node[sloped,above left,yshift=-3pt,xshift=2pt]{$\boldsymbol e_2$}pic[pfeil]{ypfeil}; \draw (0,0,0) -- (0,0,.5) node[left,xshift=2pt]{$\boldsymbol e_3$}pic[pfeil]{zpfeil}; \draw[black,inner color=white, very thin] (0,0) circle (2.75pt); \end{tikzpicture} \end{document} beantwortet 20 Jun '14, 17:02 Dirk +100 Sieht ja abgefahren aus! Danke fürs Posten der finalen Lösung.
(20 Jun '14, 17:10)
Student
|
Ich würde dafür wie @cis ein Code: Open in writeLaTeX
\documentclass[tikz,margin=5mm,convert=false]{standalone} \tikzset{ xpfeil/.pic={\path[pic actions] (\pgflinewidth,0,0)--(-1,-0.35,0)--(-1,.35,0)--cycle;}, ypfeil/.pic={\path[pic actions](0,\pgflinewidth,0)--(-0.35,-1,0)--(.35,-1,0)--cycle;}, zpfeil/.pic={\path[pic actions] (0,0,\pgflinewidth)--(0,-0.35,-1)--(0,.35,-1)--cycle;}, } \begin{document} \begin{tikzpicture}[ blue!50!red, thick, >=latex, x={(1cm,0cm)},y={(.5cm,.5cm)}, z={(0cm,1cm)}, font=\footnotesize, pfeil/.style={fill=blue!50!red,scale=0.35} ] %3D-Koordinatensystem: \draw (0,0,0) -- (5,0,0) node[below]{$x$} pic[pfeil]{xpfeil}; \draw (0,0,0) -- (0,5,0) node[above left]{$y$} pic[pfeil]{ypfeil}; \draw (0,0,0) -- (0,0,5) node[left]{$z$} pic[pfeil]{zpfeil}; %Zahlen auf Achsen \foreach \i in {1,2,3,4}{ \draw[shift={(\i,0,0)}] (0pt,2pt) -- (0pt,-2pt) node[below]{$\i$}; \draw[shift={(0,\i,0)}] (2pt,0pt) -- (-2pt,0pt) node[left]{$\i$}; \draw[shift={(0,0,\i)}] (2pt,0pt) -- (-2pt,0pt) node[left]{$\i$}; } \end{tikzpicture} \end{document} beantwortet 18 Jun '14, 01:46 esdd Welche tikz-Version benötige ich um den Lösungsvorschlag von esdd prozessieren zu können? Ich bekomme folgende Fehlermeldung: Package pgfkeys Error: I do not know the key '/tikz/xpfeil/.pic' and I am going to ignore it. Perhaps you misspelled it. Gruß Dirk
(18 Jun '14, 14:15)
Dirk
1
Du brauchst Version 3.0.0 Das ist die bei CTAN, MiKTeX und TeX Live derzeit aktuelle.
(18 Jun '14, 14:24)
esdd
|
Prinzipielle Idee könnte sein, Du zeichnest Dir solche Pfeilspitzen selbst. Das jetzt zu optimieren, überlasse ich Dir. Open in writeLaTeX
\documentclass{standalone} \usepackage{tikz} \begin{document} \begin{tikzpicture}[color=blue, >=latex, x={(-0.5cm,-0.5cm)},y={(1cm,0cm)}, z={(0cm,1cm)}] %Pfeilspitzen: \filldraw[black!40, scale=0.5] (6,1,0) -- (6,2,0) -- (8,1,0) --cycle; %3D-Koordinatensystem: \draw[->] (0,0,0) -- (5,0,0) node[left]{$x$}; \draw[->] (0,0,0) -- (0,5,0) node[below]{$y$}; \draw[->] (0,0,0) -- (0,0,5) node[left]{$z$}; %Zahlen auf x-Achse \foreach \x in {1,2,3,4} \draw[shift={(\x,0,0)}] (2pt,0pt) -- (-2pt,0pt) node[left]{\footnotesize $\x$}; %Zahlen auf z-Achse \foreach \z in {1,2,3,4} \draw[shift={(0,0,\z)}] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\z$}; %Zahlen auf y-Achse \foreach \y in {1,2,3,4} \draw[shift={(0,\y,0)}] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\y$}; \end{tikzpicture} \end{document} beantwortet 17 Jun '14, 21:47 cis |
Du kannst bei TikZ auch mit 3D-Koordinaten arbeiten, z.B. Punkt
(1,2,3.4)
. Projektion der Pfeilspitzen in die Koordinatenebenen hast Du so aber noch nicht. Und so einen riesen Knubbel als Ursprung willst Du sicher nicht wirklich :()