Problema con líneas curvas en tres dimensiones.

Problema con líneas curvas en tres dimensiones.

Quiero indicar la longitud de la curva s. Usé el algoritmo suave de la misma manera pero la curva no parece "suave":

\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}

Aquí está el resultado:Resultado

Respuesta1

Ok, entonces el problema no es con las coordenadas ni nada más, es con el plotespecificador de ruta que maneja las puntas de las flechas, se trata aquí:La opción Suavizar a veces produce puntas de flecha incorrectas en PGFplots. Jake proporciona una solución para agregar puntas de flecha a PGFplots, específicamente.

Como estás usando TikZ, no funcionará. Pero tengo una solución. Primero, dado que el diagrama Bracketses el mismo que el siguiente, debes usar la shiftopción que hace que el dibujo sea más conciso. Muy bien, ahora que sabemos que el problema ocurre cuando agregamos puntas de flecha, simplemente dibujaremos sin puntas y las agregaremos más tarde:

\draw[>={Bracket[]}, postaction={<->, tips=true}, shift={(0,0,.25)}] plot[smooth,...

La clave tips=truesobrescribe las reglas para agregar puntas de flecha, lo que obliga a TikZ a agregar flechas incluso si no hay ningún dibujo. El resultado es:

ingrese la descripción de la imagen aquí

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}

información relacionada