我看过关于箭头旋转的帖子,其中一篇是我写的。但是,我不知道自己该怎么做。例如,我正在制作一张霍曼转移的图片,在轨道上我想要三角形箭头指向逆时针方向,转移上则是“v”形箭头。
本部分已完成:
My goals is to put on the outer orbit 2 of the triangle arrows: one at 30 degrees and the other at 210 degrees.
The inner orbit 2 triangular arrows at 135 and 315 degrees.
对于 Hohmann 转移,我想放置 2 个箭头:一个箭头位于曲线的 40% 左右,另一个箭头位于曲线的 70% 左右。但是,我也不确定如何创建一个在两个轨道之间并到达 (-3,0) 的圆弧。我尝试了 arc 命令,但那只是猜测,而且看起来不太好看。
由于某种原因,霍曼转移中只显示一个箭头。我指定为 0.15 和 0.35。
\documentclass[11pt]{article}
\usepackage{tikz, tikz-qtree,kurier, pgfplots}
\usetikzlibrary{arrows, decorations.markings, calc, fadings, decorations.pathreplacing, patterns, decorations.pathmorphing, positioning}
\begin{document}
\begin{center}
\begin{tikzpicture}[line join = round, line cap = round, >=triangle 45]
\filldraw[orange!60!yellow!50!red, opacity = .75] (0,0) circle (.25cm);
\draw (0,0) -- (4,0);
\draw (0,0) -- (3,3);
\begin{scope}[decoration = {markings, mark = at position 0.0416 with {\arrow{>}}, mark = at
position 0.58333 with {\arrow{>}}, }]
\draw[postaction = decorate] (0,0) circle (3cm);
\end{scope}
\begin{scope}[decoration = {markings, mark = at position 0.375 with {\arrow{>}}, mark = at
position 0.875 with {\arrow{>}}, }]
\draw[postaction = decorate] (0,0) circle (1.5cm);
\end{scope}
\filldraw[red] (2.12132,2.12132) circle (.075cm);
\begin{scope}[decoration = {markings, mark = at position 1 with {\arrow{>}}, }]
\draw[postaction = decorate] (1,0) arc (0:45:1cm) node[scale = .75, fill = white,
inner sep = .05cm, circle] at (.5,.2) {$\alpha$};
\end{scope}
\begin{scope}[decoration = {markings, mark = at position 0.15 with {\arrow{>}}, mark = at
position 0.35 with {arrow{>}}, }]
\clip (-3,0) rectangle (1.5,3);
\draw[postaction = decorate] (-.75,0) ellipse (2.25cm and 2.4cm);
\end{scope}
\draw[fill = white] (-3,0) circle (.075cm);
\filldraw[top color = green!75!blue, bottom color = blue!40!green] (1.5,0) circle (.15cm);
\end{tikzpicture}
\end{center}
\end{document}
答案1
您可以使用椭圆半径和起始停止角度来使用圆弧。我也做了一些清理。
\documentclass[tikz]{standalone}
\usetikzlibrary{arrows, decorations.markings}
\begin{document}
\begin{tikzpicture}[>=triangle 45,
mydeco/.style = {decoration = {markings,
mark = at position #1 with {\arrow{>}}}
}
]
\filldraw[orange!60!yellow!50!red, opacity = .75] (0,0) circle (.25cm);
\draw (0,0) -- (4,0);
\draw (0,0) -- (3,3);
\draw[postaction = {mydeco=0.0416 ,decorate},
postaction = {mydeco=0.58333 ,decorate}] (0,0) circle (3cm);
\draw[postaction = {mydeco=0.375 ,decorate},
postaction = {mydeco=0.875 ,decorate}] (0,0) circle (1.5cm);
\filldraw[red] (2.12132,2.12132) circle (.075cm);
\draw[->] (1,0) arc (0:45:1cm)
node[fill = white,inner sep = .05cm] at (.5,.2) {$\scriptstyle\alpha$};
\draw[postaction = {mydeco=0.15 ,decorate},
postaction = {mydeco=0.35 ,decorate}] (0:1.5) arc (0:180:2.25cm and 2.4cm);
\draw[fill = white] (-3,0) circle (.075cm);
\filldraw[top color = green!75!blue, bottom color = blue!40!green] (1.5,0) circle (.15cm);
\end{tikzpicture}
\end{document}