22

When teaching trigonometry, sometimes it is useful to represent angles greater than 360º with some kind of "spiral arc". For example:

angles

the angle of -440º in the figure.

My question is:

How can I do this in nicely TikZ?

I can do it by using several consecutive arcs, but I wish to know if is there a more elegant solution to this.

5
  • 1
    spiral spring in tikz might be of interest here. Commented Jun 18, 2012 at 17:28
  • Notice that the spiral here do not start at its center Commented Jun 18, 2012 at 17:33
  • 1
    Yes, it's not an exact duplicate. But the general approach works here too: Try \draw [domain=0:10,variable=\t,smooth,samples=75] plot ({\t r}: {0.05*\t+0.1}); Commented Jun 18, 2012 at 17:39
  • 2
    BTW, I believe that the -440 angle is incorrectly labelled, it should be 440 degrees (not minus). Commented Jun 18, 2012 at 18:22
  • @PeterGrill you are absolutely right! thanks for point that Commented Jun 18, 2012 at 19:30

2 Answers 2

28
 \documentclass[11pt]{scrartcl} \usepackage{tikz} \usetikzlibrary{arrows} \begin{document} \newcommand\bigangle[2][]{% \draw[->,domain=0:#2,variable=\t,samples=200,>=latex,#1] plot ({(\t+#2)*cos(\t)/(#2)}, {(\t+#2)*sin(\t)/(#2)}) node[right=.5cm] {$#2^\circ$} ;} \begin{tikzpicture} \draw [thick] ( 0,0) -- (3,0); \draw [thick] ( 0,0) -- (0,3); \draw [red,thick] ( 0,0) -- (400:3); \bigangle[blue,dashed]{400} \end{tikzpicture} \end{document} 

enter image description here

enter image description here

3
  • This is exactly what I want. Commented Jun 18, 2012 at 21:19
  • Incredible, good math skills to achieve the desired output. Commented Jul 3, 2012 at 19:52
  • The command works great for angles grater than 360. But it looks weird when we pass an angle a with 0 < abs(a) < 360. So far I've managed to fix it by using a conditional construct via the ifthen package. Is it possible to fix this without using any extra package? Commented Sep 4, 2013 at 16:04
14

Jake's method is probably simpler, but here I have adapted the standard parametric equation for a spiral and added an offset so that the spiral does not start at the origin to yield:

enter image description here

Notes:

  • The 440 in the denominator is to normalize the graph so that the arc ends at a y=1.
  • Polar equations should yield similar results with simpler equations.
  • There is something wrong with the brown line (even though it is in the correct spot) as it is not ending where I think it should, but this is not related to generating the spiral.

Code:

\documentclass{article} \usepackage{pgfplots} \newcommand*{\Offset}{360}% \begin{document} \begin{tikzpicture} \begin{axis}[xmin=-2.5,xmax=2.5,ymin=-2.5,ymax=2.5, axis lines=center] \addplot[blue,densely dashed,domain=0:440,samples=200,-latex] ({(x+\Offset)*cos(x+\Offset)/(440+\Offset)}, {(x+\Offset)*sin(x+\Offset)/(440+\Offset)}); % Show the 440 degree angle \pgfmathsetmacro{\XValue}{1.0}% \pgfmathsetmacro{\YValue}{\XValue*tan(440)}% \draw [brown, thick] (axis cs: 0,0) -- (axis cs: \XValue,\YValue); \end{axis} \end{tikzpicture} \end{document} 

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.