I'm trying to draw three vectors that are tangent to the circle, as shown below.
Is it possible to use \foreach to duplicate one vector around the circle? If so, can someone help me to draw this picture?
I'm trying to draw three vectors that are tangent to the circle, as shown below.
Is it possible to use \foreach to duplicate one vector around the circle? If so, can someone help me to draw this picture?
Here's an alternative way to draw your circle + vectors using Metapost and luamplib
. Compile with lualatex
(assuming you have the TeX Gyre maths fonts available).
\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\usepackage{unicode-math}
\setmathfont{TeX Gyre Termes Math}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
path C, vv, aa, oo;
C = fullcircle scaled 4cm;
linejoin := 0;
linecap := 0;
for t=0 upto 2:
p := 8/3t+2;
drawarrow subpath (p-4/3,p+4/3) of C withcolor .3[blue,white];
vv := (origin -- unitvector(direction p of C) scaled 2cm) shifted point p of C;
aa := (origin -- unitvector(direction p of C) scaled 1cm rotated 90) shifted point p of C;
drawarrow vv withpen pencircle scaled 2 withcolor .67 green;
drawarrow aa withpen pencircle scaled 2 withcolor (red+1/2green);
label("$\vec{v}$", unitvector(direction 3/4 of vv) rotated -90 scaled 7 shifted point 3/4 of vv);
label("$\vec{a}$", unitvector(direction 2/3 of aa) rotated +90 scaled 7 shifted point 2/3 of aa);
fill fullcircle scaled 5 shifted point p of C;
endfor
oo = subpath(3.4,4.2) of C scaled 1.12;
drawarrow oo withpen pencircle scaled 4 withcolor .8 white;
label.lft("$\omega$", point 2/3 of oo);
endfig;
\end{mplibcode}
\end{document}
There are 8 "points" on a fullcircle
path, so point 2 of C
is at 12 o'clock, etc.
direction x of C
gives you the tangent vector at point x of C
Wrapping unitvector
and scaled...
around the pair returned by direction
lets you control the size properly
Setting linejoin
and linecap
to 0 gives you nice sharp arrows despite the big fat pen used.
Here is a solution using TikZ:
\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary{positioning,calc}
\usepackage{esvect}
\begin{document}
\begin{tikzpicture}
\def\rr{3cm}
\def\nn{3}
\draw[thick, blue] (0,0) circle (\rr);
\foreach \aa in {1,2,...,\nn}{
\begin{scope}[rotate={\aa*360/\nn+15}]
\draw [-latex, green, ultra thick] (0:\rr) coordinate(dd\aa)--++(0,1.5cm)coordinate(aa\aa)node[right]{$\vv{v}$};
\draw [-latex, orange, ultra thick] (0:\rr) --++(-1cm,0) node[right]{$\vv{a}$};
\draw [fill=black] (0:\rr) circle (0.1);
\end{scope}
\draw[ultra thick, gray,-latex] (-15:{\rr+0.5cm}) to [bend right=15] node[right]{$\omega$}(15:{\rr+0.5cm});
}
\def\rr{5cm}
\def\nn{5}
\draw[thick, blue] (0,0) circle (\rr);
\foreach \aa in {1,2,...,\nn}{
\begin{scope}[rotate={\aa*360/\nn+15}]
\draw [-latex, green, ultra thick] (0:\rr) --++(0,{5/3*1.5cm})node[right]{$\vv{v}$};
\draw [-latex, orange, ultra thick] (0:\rr) --++(-1cm,0) node[right]{$\vv{a}$};
\draw [fill=black] (0:\rr) circle (0.1);
\end{scope}
}
\draw (0,0) --(aa3)coordinate[pos=2](ff) -- (ff);
\draw (0,0) -- (dd3)coordinate[pos=2](ff) -- (ff);
\end{tikzpicture}
\end{document}
Not adding a huge amount to existing answers apart from the shaded grey arrow.
\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}[>=Triangle]
\shade [top color=white, bottom color=gray!50, middle color=white]
(120:8/3) arc (120:190:8/3) node [black, near end, left] {$\omega$}
-- (190:25/9) -- (200:15/6) -- (190:20/9) -- (190:7/3)
arc (190:120:7/3) -- cycle;
\foreach \i in {90, 210, 330}{
\draw [->, thick, blue!50!cyan] (\i-65:2) arc (\i-65:\i+60:2);
\tikzset{shift={(\i:2)}, rotate=\i+180}
\draw [->, very thick, orange] (0,0) -- (1,0)
node [black, near end, anchor=\i+90] {$\vec a$};
\draw [->, very thick, green!50!black] (0,0) -- (0,-2)
node [black, near end, anchor=\i+180] {$\vec v$};
\fill circle [radius=1/10];
}
\end{tikzpicture}
\end{document}
Another solution with PSTricks. Compiling it with latex-dvips-ps2pdf
is the fastest way.
\documentclass[pstricks,preview]{standalone}
\usepackage{pst-node}
\def\Orbit#1{%
\begin{pspicture}[arrows=->,arrowscale=2,dimen=m](-6,-6)(6,6)
\psarc(0,0){4}{0}{120}\psarc(0,0){4}{120}{240}\psarc(0,0){4}{240}{0}\pscircle{4}
\psarc[linecolor=gray](0,0){4.75}{50}{70}\rput(5.25;60){$\omega$}
\pnodes(0,0){O}(4;#1){A}([nodesep=2]{O}A){R}([offset=-2]{O}A){T}
\pscircle*[linecolor=green](A){6pt}
\pcline[linecolor=blue](A)(R)\naput{$\vec{a}$}
\pcline[linecolor=red](A)(T)\nbput{$\vec{v}$}
\end{pspicture}}
\begin{document}
\foreach \x in {0,30,...,330}{\Orbit{\x}}
\end{document}