Ayuda para dibujar vectores en un entorno de ejes PGFplots usando coordenadas calculadas y \draw

Ayuda para dibujar vectores en un entorno de ejes PGFplots usando coordenadas calculadas y \draw

¿Por qué el uso de \draw y las coordenadas calculadas no siguen el aspecto que debería tener una gráfica del movimiento de un proyectil? ¿Alguna sugerencia de código que funcione usando fórmulas en coordenadas? trama del libro de texto intentar

\begin{tikzpicture}[scale=0.6, transform shape]  %projectile motion
\begin{axis}[
width=12cm, %set bigger width
height=6cm,
xmin=0,xmax=10,
ymin=0,ymax=10,
xlabel=$x$,
ylabel=$y$,
axis x line = bottom,
axis y line = left,
axis line style={->},
%axis on top,
ticks = none
]
%variable definitions
\def\g{-9.8} %gravity
\def\v{10} %velocity
\def\ang{51} %angle

\pgfmathsetmacro{\t}{0}
%flight path
\addplot[
dashed,
thick,
domain=0:10,
samples=100,]
{{\g*(x^2)/(2*\v^2*cos(\ang)^2)+x*tan(\ang)}}
node[above,pos=0.5]{$V_y=0$};

%vector at start
\coordinate (A) at ({\v*cos(\ang)*\t},{\v*\t*sin(\ang)+0.5*\g*(\t^2)});
\coordinate (B) at ({\v*cos(\ang)*\t+\v*cos(\ang)},{\v*\t*sin(\ang)+0.5*\g*\t^2+\v*sin(\ang)+\g*\t});
\coordinate (C) at ({\v*cos(\ang)*\t+\v*cos(\ang)}, {\v*\t*sin(\ang)+0.5*\g*\t^2});
\coordinate (D) at ({\v*cos(\ang)*\t},{\v*\t*sin(\ang) + 0.5*\g*(\t^2) + \v*sin(\ang) + \g*\t)});
\draw[very thick,->](A)--(B);
\draw[very thick,->](A)--(C);
\draw[very thick,->](A)--(D);

%vector at end
%\pgfmathsetmacro{\a}{1.5}
\pgfmathsetmacro{\a}{{-1*(2/\g)*\v*sin(\ang)}}
\coordinate (E) at ({\v*cos(\ang)*\a},{\v*\a*sin(\ang)+0.5*\g*(\a^2)});
\coordinate (F) at ({\v*cos(\ang)*\a+\v*cos(\ang)},{\v*\a*sin(\ang)+0.5*\g*\a^2+\v*sin(\ang)+\g*\a});
\coordinate (G) at ({\v*cos(\ang)*\a+\v*cos(\ang)}, {\v*\a*sin(\ang)+0.5*\g*\a^2});
\coordinate (H) at ({\v*cos(\ang)*\a},{\v*\a*sin(\ang) + 0.5*\g*(\a^2) + \v*sin(\ang) + \g*\a)});
\draw[very thick,->](E)--(F);
\draw[very thick,->](E)--(G);
\draw[very thick,->](E)--(H);

%vector 1/2 up
%\pgfmathsetmacro{\b}{0.3}
\pgfmathsetmacro{\b}{{(-1*(2/\g)*\v*sin(\ang))/4}}
\coordinate (H) at ({\v*cos(\ang)*\b},{\v*\b*sin(\ang)+0.5*\g*(\b^2)});
\coordinate (I) at ({\v*cos(\ang)*\b+\v*cos(\ang)},{\v*\b*sin(\ang)+0.5*\g*\b^2+\v*sin(\ang)+\g*\b});
\coordinate (J) at ({\v*cos(\ang)*\b+\v*cos(\ang)}, {\v*\b*sin(\ang)+0.5*\g*\b^2});
\coordinate (K) at ({\v*cos(\ang)*\b},{\v*\b*sin(\ang) + 0.5*\g*(\b^2) + \v*sin(\ang) + \g*\b)});
\draw[very thick,->](H)--(I);
\draw[very thick,->](H)--(J);
\draw[very thick,->](H)--(K);

%vector halfway
%\pgfmathsetmacro{\c}{0.8}
\pgfmathsetmacro{\c}{{(-1*(2/\g)*\v*sin(\ang))/2}}
\coordinate (L) at ({\v*cos(\ang)*\c},{\v*\c*sin(\ang)+0.5*\g*(\c^2)});
\coordinate (M) at ({\v*cos(\ang)*\c+\v*cos(\ang)},{\v*\c*sin(\ang)+0.5*\g*\c^2+\v*sin(\ang)+\g*\c});
\coordinate (N) at ({\v*cos(\ang)*\c+\v*cos(\ang)}, {\v*\c*sin(\ang)+0.5*\g*\c^2});
\coordinate (O) at ({\v*cos(\ang)*\c},{\v*\c*sin(\ang) + 0.5*\g*(\c^2) + \v*sin(\ang) + \g*\c)});
\draw[very thick,->](L)--(M);
\draw[very thick,->](L)--(N);
\draw[very thick,->](L)--(O);

%vector 1/2 down
%\pgfmathsetmacro{\d}{1.2}
\pgfmathsetmacro{\d}{{(-1*(2/\g)*\v*sin(\ang))*0.75}}
\coordinate (P) at ({\v*cos(\ang)*\d},{\v*\d*sin(\ang)+0.5*\g*(\d^2)});
\coordinate (Q) at ({\v*cos(\ang)*\d+\v*cos(\ang)},{\v*\d*sin(\ang)+0.5*\g*\d^2+\v*sin(\ang)+\g*\d});
\coordinate (R) at ({\v*cos(\ang)*\d+\v*cos(\ang)}, {\v*\d*sin(\ang)+0.5*\g*\d^2});
\coordinate (S) at ({\v*cos(\ang)*\d},{\v*\d*sin(\ang) + 0.5*\g*(\d^2) + \v*sin(\ang) + \g*\d)});
\draw[very thick,->](P)--(Q);
\draw[very thick,->](P)--(R);
\draw[very thick,->](P)--(S);

\end{axis}

Respuesta1

Esta es una solución propuesta después de investigar el código del OP.

  1. axis cs:x,yLa sintaxis debe usarse pgfplotscuando se usan comandos tikz.
  2. La solución agrega un factor de escala \sy lo establece en 0,2 para obtener mejores presentaciones. Establecer \sen 1 será el valor original del OP.
  3. Para el dibujo vectorial, solo se requieren dos puntos, ya que v_xy v_yse pueden dibujar usando orthogonalhabilidades de coordenadas.

ingrese la descripción de la imagen aquí

Código

\documentclass[11pt]{article}
\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}[scale=0.6, transform shape]  %projectile motion
\begin{axis}[
width=12cm, %set bigger width
height=6cm,
xmin=0,xmax=10,
ymin=0,ymax=10,
xlabel=$x$,
ylabel=$y$,
axis x line = bottom,
axis y line = left,
axis line style={->},
%axis on top,
ticks = none,clip=false,
]
%variable definitions
\def\g{-9.8} %gravity
\def\v{10} %velocity
\def\ang{51} %angle
\def\s{0.2}
\pgfmathsetmacro{\t}{0}
%flight path
\addplot[
dashed,
thick,
domain=0:10,
samples=100,]
{{\g*(x^2)/(2*\v^2*cos(\ang)^2)+x*tan(\ang)}}
node[above,pos=0.5]{$V_y=0$};

%vector at start
\coordinate (A) at (axis cs: {\v*cos(\ang)*\t}, {\v*\t*sin(\ang)+0.5*\g*(\t^2)});
\coordinate (B) at (axis cs: {\v*cos(\ang)*\t+\s*\v*cos(\ang)}, {\v*\t*sin(\ang)+0.5*\g*\t^2+\s*(\v*sin(\ang)+\g*\t)});
%\node (C) at (axis cs: {\v*cos(\ang)*\t+\v*cos(\ang)}, {\v*\t*sin(\ang)+0.5*\g*\t^2}){c};
%\node (D) at (axis cs: {\v*cos(\ang)*\t}, {\v*\t*sin(\ang) + 0.5*\g*(\t^2) + \v*sin(\ang) + \g*\t}){d};
\draw[very thick,->](A)--(B);
\draw[very thick,->](A)--(B|-A);
\draw[very thick,->](A)--(B-|A);

%vector at end
\pgfmathsetmacro{\a}{1.5}
\pgfmathsetmacro{\a}{{-1*(2/\g)*\v*sin(\ang)}}
\coordinate (E) at (axis cs:{\v*cos(\ang)*\a},{\v*\a*sin(\ang)+0.5*\g*(\a^2)}){};
\coordinate (F) at (axis cs:{\v*cos(\ang)*\a+\s*\v*cos(\ang))}, {\v*\a*sin(\ang)+0.5*\g*\a^2+\s*(\v*sin(\ang)+\g*\a)});
%\coordinate (G) at (axis cs:{\v*cos(\ang)*\a+\v*cos(\ang))}, {\v*\a*sin(\ang)+0.5*\g*\a^2)});
%\coordinate (H) at (axis cs:{\v*cos(\ang)*\a}, {(\v*\a*sin(\ang) + 0.5*\g*(\a^2) + \v*sin(\ang) + \g*\a))});
\draw[very thick,->](E)--(F);
\draw[very thick,->](E)--(F |- E);
\draw[very thick,->](E)--(F-| E);
%
%vector 1/2 up
%\pgfmathsetmacro{\b}{0.3}
\pgfmathsetmacro{\b}{{(-1*(2/\g)*\v*sin(\ang))/4}}
\coordinate (H) at (axis cs:{\v*cos(\ang)*\b},{\v*\b*sin(\ang)+0.5*\g*(\b^2)});
\coordinate (I) at (axis cs: {\v*cos(\ang)*\b+\s*\v*cos(\ang)},{\v*\b*sin(\ang)+0.5*\g*\b^2+\s*(\v*sin(\ang)+\g*\b)});
%\coordinate (J) at (axis cs:{\v*cos(\ang)*\b+\v*cos(\ang)}, {\v*\b*sin(\ang)+0.5*\g*\b^2});
%\coordinate (K) at (axis cs:{\v*cos(\ang)*\b},{\v*\b*sin(\ang) + 0.5*\g*(\b^2) + \v*sin(\ang) + \g*\b)});
\draw[very thick,->](H)--(I);
\draw[very thick,->](H)--(I-|H);
\draw[very thick,->](H)--(I|-H);
%
%vector halfway
%\pgfmathsetmacro{\c}{0.8}
\pgfmathsetmacro{\c}{{(-1*(2/\g)*\v*sin(\ang))/2}}
\coordinate (L) at (axis cs:{\v*cos(\ang)*\c},{\v*\c*sin(\ang)+0.5*\g*(\c^2)});
\coordinate (M) at (axis cs:{\v*cos(\ang)*\c+\s*\v*cos(\ang))},{\v*\c*sin(\ang)+0.5*\g*\c^2+\s*(\v*sin(\ang)+\g*\c)});
%\coordinate (N) at (axis cs:{\v*cos(\ang)*\c+\v*cos(\ang)}, {\v*\c*sin(\ang)+0.5*\g*\c^2});
%\coordinate (O) at (axis cs:{\v*cos(\ang)*\c},{\v*\c*sin(\ang) + 0.5*\g*(\c^2) + \v*sin(\ang) + \g*\c)});
\draw[very thick,->](L)--(M);
\draw[very thick,->](L)--(M|-L);
\draw[very thick,->](L)--(M-|L);

%vector 1/2 down
%\pgfmathsetmacro{\d}{1.2}
\pgfmathsetmacro{\d}{{(-1*(2/\g)*\v*sin(\ang))*0.75}}
\coordinate (P) at (axis cs:{\v*cos(\ang)*\d},{\v*\d*sin(\ang)+0.5*\g*(\d^2)});
\coordinate (Q) at (axis cs:{(\v*cos(\ang)*\d+\s*\v*cos(\ang))},{\v*\d*sin(\ang)+0.5*\g*\d^2+\s*(\v*sin(\ang)+\g*\d)});
%\coordinate (R) at (axis cs:{\v*cos(\ang)*\d+\v*cos(\ang)}, {\v*\d*sin(\ang)+0.5*\g*\d^2});
%\coordinate (S) at (axis cs:{\v*cos(\ang)*\d},{\v*\d*sin(\ang) + 0.5*\g*(\d^2) + \v*sin(\ang) + \g*\d)});
\draw[very thick,->](P)--(Q);
\draw[very thick,->](P)--(Q|-P);
\draw[very thick,->](P)--(Q-|P);
\end{axis}
\end{tikzpicture}
\end{document}

información relacionada