
Ich möchte die Länge der S-Kurve angeben. Habe den Smooth-Algorithmus auf die gleiche Weise verwendet, aber die Kurve scheint nicht „glatt“ zu sein:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}
[
>=stealth,
cm={-1,-1,1,0,(0,0)},
x=3.85mm,
z=-1cm,
axis/.style={-, black},
vector/.style={-{Stealth[length=6,width=3]}, very thick, black}
]
\draw (0,0,0) node[left]{$O$};
\draw[axis] (0,0,0) -- (4,0,0) node[left]{$X$};
\draw[axis] (0,0,0) -- (0,4,0) node[right]{$Y$};
\draw[axis] (0,0,0) -- (0,0,4) node[left]{$Z$};
\draw[vector] (0,0,0) -- (1,1,2) node[circle,fill,inner sep=0.7pt,label=left:$ A $](){};
\draw (0.5,0.5,1) node[right]{$ \vec{r}_{0} $};
\draw[vector] (0,0,0) -- (2.5,4,2.5) node[circle,fill,inner sep=0.7pt,label=right:$ B $](){};
\draw (1.25,2,1.25) node[below]{$ \vec{r}(t) $};
\draw[vector] (1,1,2) -- (2.5,4,2.5);
\draw (1.75,2.25,2.25) node[below]{$ \Delta \vec{r} $};
\draw [thick] plot [smooth, tension=1] coordinates { (1,1,2) (1.75,2.5,2.5) (2.5,4,2.5)};
\draw [>=Bracket, <->] plot [smooth, tension=1] coordinates { (1,1,2.25) (1.75,2.5,2.75) (2.5,4,2.75)};
\draw (1.75,2.5,2.5) node[above]{$ s $};
\end{tikzpicture}
\end{document}
Antwort1
Ok, das Problem liegt also nicht an den Koordinaten oder sonst etwas, sondern am plot
Pfadbezeichner, der die Pfeilspitzen verarbeitet. Es wird hier behandelt:Die Option „Glatt“ erzeugt manchmal falsche Pfeilspitzen in PGFplots. Jake bietet insbesondere eine Lösung zum Hinzufügen von Pfeilspitzen zu PGFplots.
Da Sie TikZ verwenden, funktioniert es nicht. Aber ich habe einen Workaround. Erstens, da die Darstellung mit Brackets
der folgenden identisch ist, sollten Sie die shift
Option verwenden, die die Zeichnung prägnanter macht. Gut, jetzt, da wir wissen, dass das Problem auftritt, wenn wir Pfeilspitzen hinzufügen, zeichnen wir einfach ohne Spitzen und fügen sie später hinzu:
\draw[>={Bracket[]}, postaction={<->, tips=true}, shift={(0,0,.25)}] plot[smooth,...
Der Schlüssel tips=true
überschreibt die Regeln zum Hinzufügen von Pfeilspitzen und zwingt TikZ, Pfeile hinzuzufügen, auch wenn keine Zeichnung vorhanden ist. Das Ergebnis ist:
MWE
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}
[
>=stealth,
cm={-1,-1,1,0,(0,0)},
x=3.85mm,
z=-1cm,
axis/.style={-, black},
vector/.style={-{Stealth[length=6,width=3]}, very thick, black}
]
\draw (0,0,0) node[left]{$O$};
\draw[axis] (0,0,0) -- (4,0,0) node[left]{$X$};
\draw[axis] (0,0,0) -- (0,4,0) node[right]{$Y$};
\draw[axis] (0,0,0) -- (0,0,4) node[left]{$Z$};
\draw[vector] (0,0,0) -- (1,1,2) node[circle,fill,inner sep=0.7pt,label=left:$ A $](){};
\draw (0.5,0.5,1) node[right]{$ \vec{r}_{0} $};
\draw[vector] (0,0,0) -- (2.5,4,2.5) node[circle,fill,inner sep=0.7pt,label=right:$ B $](){};
\draw (1.25,2,1.25) node[below]{$ \vec{r}(t) $};
\draw[vector] (1,1,2) -- (2.5,4,2.5);
\draw (1.75,2.25,2.25) node[below]{$ \Delta \vec{r} $};
\draw [thick] plot [smooth, tension=1] coordinates { (1,1,2) (1.75,2.5,2.5) (2.5,4,2.5)};
\draw [>={Bracket[]}, postaction={<->, tips=true}, shift={(0,0,.25)}] plot [smooth, tension=1] coordinates { (1,1,2) (1.75,2.5,2.5) (2.5,4,2.5) };
\draw (1.75,2.5,2.5) node[above]{$ s $};
\end{tikzpicture}
\end{document}