Chapter 10 – Calculating with Coordinates and Paths

[xyz-ips snippet=”intro”]

[xyz-ips snippet=”img1″]10/01[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.1 – A grid with axis labels[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\begin{document}
\begin{tikzpicture}
  \draw[thin,dotted] (-3,-3) grid (3,3);
  \draw[->] (-3,0) -- (3,0);
  \draw[->] (0,-3) -- (0,3);
  \foreach \i in {-3,-2,-1,1,2,3} {
    \node at (\i,-0.2) {\i};
    \node at (-0.2,\i) {\i};
  }
\end{tikzpicture}
\end{document}

[xyz-ips snippet=”img1″]10/02[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.2 – Rotated circles[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\begin{document}
\begin{tikzpicture}
  \draw \foreach \i in {10,20,...,360} {(\i:1) circle (1)};
\end{tikzpicture}
\end{document} 

[xyz-ips snippet=”img1″]10/03[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.3 – Filled intersecting circles[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\begin{document}
\begin{tikzpicture}
  \filldraw[even odd rule] \foreach \i in {10,20,...,360} {(\i:1) circle (1)};
\end{tikzpicture}
\end{document}

[xyz-ips snippet=”img1″]10/04[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.4 – Alphanumeric labels[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\begin{document}
\begin{tikzpicture}
  \draw[thin,dotted] (-3,-3) grid (3,3);
  \draw[->] (-3,0) -- (3,0);
  \draw[->] (0,-3) -- (0,3);
  \foreach \i/\j in {A/1,B/2,C/3} \node at (\j,-0.2) {\i};
\end{tikzpicture}
\end{document}

[xyz-ips snippet=”img1″]10/05[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.5 – Triangle with an inscribed circle[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
  \coordinate (A) at (1,2);
  \coordinate (B) at ($(A)+(1,0)$);
  \coordinate (C) at ($(A)+(60:1)$);
  \draw (A) -- (B) -- (C) --cycle;
  \draw ($(A)!0.5!(B)+(0,{sqrt(3)/6})$) circle({sqrt(3)/6});
\end{tikzpicture}
\end{document}

[xyz-ips snippet=”img1″]10/06[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.6 – Projection on a line[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
  \coordinate (A) at (1,2);
  \coordinate (B) at ($(A)+(1,0)$);
  \coordinate (C) at ($(A)+(60:1)$);
  \draw (A) -- (B) -- (C) --cycle;
  \draw ($(A)!0.5!(B)+(0,{sqrt(3)/6})$) circle({sqrt(3)/6});
  \draw[densely dotted] (C) -- ($(A)!(C)!(B)$);
\end{tikzpicture}
\end{document}

[xyz-ips snippet=”img1″]10/07[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.7 – Using a partway modifier with an angle[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
  \coordinate (A) at (1,2);
  \coordinate (B) at ($(A)+(1,0)$);
  \coordinate (C) at ($(A)+(60:1)$);
  \draw (A) -- (B) -- (C) --cycle;
  \draw ($(A)!0.5!(B)+(0,{sqrt(3)/6})$) circle({sqrt(3)/6});
  \draw[densely dotted] (C) -- ($(A)!(C)!(B)$);
  \filldraw ($(A)!0.5!60:(B)$) circle (0.03);
\end{tikzpicture}
\end{document}

[xyz-ips snippet=”img1″]10/08[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.8 – A spiral of circles[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
  \foreach \i in {0,0.025,...,1}
    \draw ($(0,0)!\i!\i*360:(1,0)$) circle(0.08*\i);
\end{tikzpicture}
\end{document}

[xyz-ips snippet=”img1″]10/09[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.9 – A spiral of balls[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
  \foreach \i in {0,0.025,...,6}
    \draw[shading=ball] ($(0,0)!\i!\i*360:(1,0)$) circle(0.08*\i);
\end{tikzpicture}
\end{document}
\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
  \foreach \i [evaluate=\i as \j using 40*\i] in {0,0.05,...,2}
    \fill[fill=black!60!blue!\j!white]  ($(0,0)!\i!\i*180:(1,0)$) -- ($(0,0)!\i+0.05!\i*180+9:(1,0)$) -- (0,0);
\end{tikzpicture}
\end{document}

[xyz-ips snippet=”img1″]10/10[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.10 – A colored segmented spiral[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
  \foreach \i [remember=\i as \j (initially 6),
    evaluate=\i as \c using 20*\i] in {5.95,5.9,...,0}
    \fill[fill=black!60!blue!\c!white]
      ($(0,0)!\i!\i*180:(1,0)$) --
      ($(0,0)!\j!\j*180:(1,0)$) -- (0,0);
\end{tikzpicture}
\end{document}

[xyz-ips snippet=”img1″]10/11[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.11 – A point at the intersection of two lines[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
  \draw[thin,dotted] (-3,-3) grid (3,3);
  \draw[->] (-3,0) -- (3,0);
  \draw[->] (0,-3) -- (0,3);
  \draw[name path = l1] (-2,-2) -- (3,3);
  \draw[name path = l2] (-1,3)  -- (3,-3);
  \fill[name intersections = {of = l1 and l2}]
    (intersection-1) circle(1mm) node[right] {here};
\end{tikzpicture}
\end{document}

[xyz-ips snippet=”img1″]10/12[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.12 – A filled triangle path with intersecting circles[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
  \fill[name path=triangle, orange]
    (90:2) -- (210:2) -- (330:2) -- cycle
    (90:1) -- (330:1) -- (210:1) -- cycle;
  \draw[name path=circle, dashed, gray]
    circle(1.5) circle(0.65);
\end{tikzpicture}
\end{document}

[xyz-ips snippet=”img1″]10/13[xyz-ips snippet=”img2″]

[xyz-ips snippet=”fig1″]Figure 10.13 – Intersections of circles and triangles[xyz-ips snippet=”fig2″]

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
  \fill[name path=triangle, orange]
    (90:2) -- (210:2) -- (330:2) -- cycle
    (90:1) -- (330:1) -- (210:1) -- cycle;
  \draw[name path=circle, dashed, gray]
    circle(1.5) circle(0.65);
  \fill[blue,
    name intersections = {of = triangle and circle,
    total=\max, name=c, sort by = circle}]
    \foreach \i in {1,...,\max} {
      (c-\i) circle(0.5mm)
      node[above left=0.5mm,font=\tiny, inner sep=0]{\i}};
\end{tikzpicture}
\end{document}

[xyz-ips snippet=”chapter1″]11[xyz-ips snippet=”chapter2″]