4

I have seen the post on the rotation of arrows and one of the post is mine. However, I don't understand how to do accomplish it myself. For instance, I am making a picture of Hohmann transfer where on the orbits I want triangular arrows pointing counter clockwise and "v" type arrow on the transfer.

This part is completed:

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.

For the Hohmann transfer I want to put 2 arrows: one about 40 percent of the curve and the other 70 percent. However, I also am not sure how to create an arc that goes between the two orbits and arrives at (-3,0). I tried the arc command but that was just guessing and it wasn't looking pretty.

For some reason, only one arrow shows up on the Hohmann transfer. I specified at 0.15 and 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}
5
  • 1
    For the second question (arrows at 15 and 210 degrees), you can use a decoration: \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} Mar 29, 2013 at 3:22
  • @GonzaloMedina Can you explain the position choice values?
    – dustin
    Mar 29, 2013 at 3:33
  • @GonzaloMedina percentage of 360 I suspect now.
    – dustin
    Mar 29, 2013 at 3:49
  • @GonzaloMedina I have accomplished everything except for putting two arrows on the transfer orbit. I specified 0.15 and 0.35. I am only clipping the lower half of the ellipse as well.
    – dustin
    Mar 29, 2013 at 4:22
  • 1
    You forgot \ before arrow here position 0.35 with {arrow{>}}, }] Mar 29, 2013 at 8:00

1 Answer 1

2

You can use the ellipse radii and start stop angles to use an arc. Also I've cleaned up a bit.

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

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .