TikZで円弧を描く方法

TikZで円弧を描く方法を書く。

1. タイプセット環境

macOS Sierra,texlive2016,lualatex

2. コードと実行結果
コード
\RequirePackage{luatex85}
\documentclass[border=15pt]{standalone}
\usepackage{tikz}
\begin{document}

%
% 一つ目の図
%
\begin{tikzpicture}[point/.style={inner sep=0pt, outer sep=0pt, minimum size=0pt}]
  %軸とグリッド
  \path[draw,color=gray!10] (-5,-5) grid (5,5);
  \path[draw,->,>=stealth] (-5,0) -- (5,0) node[right]{$x$};
  \path[draw,->,>=stealth] (0,-5) -- (0,5) node[left]{$y$};
  \foreach \t in {-4,-3,-2,-1,0,1,2,3,4}{
    \path[draw] (\t,-0.05) -- (\t,0.05);
    \path[draw] (-0.05,\t) -- (0.05,\t);
  }
  %
  \path node[point] (O) at (0,0){};
  \path node[point] (A) at (3,0){};
  %arcで円弧をかく
  %start angleとend angleで,はじめとおわりの角度を指定
  \path[draw] (O) -- (A) arc[radius=3, start angle=0, end angle=30] -- (O);
\end{tikzpicture}

%
% 二つ目の図
%
\begin{tikzpicture}[point/.style={inner sep=0pt, outer sep=0pt, minimum size=0pt}]
  %軸とグリッド
  \path[draw,color=gray!10] (-5,-5) grid (5,5);
  \path[draw,->,>=stealth] (-5,0) -- (5,0) node[right]{$x$};
  \path[draw,->,>=stealth] (0,-5) -- (0,5) node[left]{$y$};
  \foreach \t in {-4,-3,-2,-1,0,1,2,3,4}{
    \path[draw] (-0.05,\t) -- (0.05,\t);
    \path[draw] (\t,-0.05) -- (\t,0.05);
  }
  %
  \path node[point] (O) at (0,0){};
  \path node[point] (A) at (3,0){};
  %arcで円弧をかく
  %delta angleで動かす角度を指定
  \path[draw] (O) -- (A) arc[radius=3, start angle=0, delta angle=80] -- (O);
\end{tikzpicture}

%
% 三つ目の図
%
\begin{tikzpicture}[point/.style={inner sep=0pt, outer sep=0pt, minimum size=0pt}]
  %軸とグリッド
  \path[draw,color=gray!10] (-5,-5) grid (5,5);
  \path[draw,->,>=stealth] (-5,0) -- (5,0) node[right]{$x$};
  \path[draw,->,>=stealth] (0,-5) -- (0,5) node[left]{$y$};
  \foreach \t in {-4,-3,-2,-1,0,1,2,3,4}{
    \path[draw] (\t,-0.05) -- (\t,0.05);
    \path[draw] (-0.05,\t) -- (0.05,\t);
  }
  %
  \path node[point] (B) at (-1,1){};
  % arcで円弧をかく
  %現在地点を中心とするradius=3cmの円周上で,
  %start angle(x軸の正の向きとなす角)が30になるように回転の中心を決めて,end angleまで回転させる。
  %だから,回転の中心は,tikzの座標における原点とは必ずしも一致しない。
  \path[draw] (B) arc[radius=2,start angle=30, end angle=270];
\end{tikzpicture}

\end{document}
実行結果
3. 説明
3.1. preambleの説明
\RequirePackage{luatex85}
\documentclass[border=15pt]{standalone}
\usepackage{tikz}

特になし。

3.2. documentの説明
%
% 一つ目の図
%
\begin{tikzpicture}[point/.style={inner sep=0pt, outer sep=0pt, minimum size=0pt}]
  %軸とグリッド
  \path[draw,color=gray!10] (-5,-5) grid (5,5);
  \path[draw,->,>=stealth] (-5,0) -- (5,0) node[right]{$x$};
  \path[draw,->,>=stealth] (0,-5) -- (0,5) node[left]{$y$};
  \foreach \t in {-4,-3,-2,-1,0,1,2,3,4}{
    \path[draw] (\t,-0.05) -- (\t,0.05);
    \path[draw] (-0.05,\t) -- (0.05,\t);
  }
  %
  \path node[point] (O) at (0,0){};
  \path node[point] (A) at (3,0){};
  %arcで円弧をかく
  %start angleとend angleで,はじめとおわりの角度を指定
  \path[draw] (O) -- (A) arc[radius=3, start angle=0, end angle=30] -- (O);
\end{tikzpicture}

コメントを参照。

%
% 二つ目の図
%
\begin{tikzpicture}[point/.style={inner sep=0pt, outer sep=0pt, minimum size=0pt}]
  %軸とグリッド
  \path[draw,color=gray!10] (-5,-5) grid (5,5);
  \path[draw,->,>=stealth] (-5,0) -- (5,0) node[right]{$x$};
  \path[draw,->,>=stealth] (0,-5) -- (0,5) node[left]{$y$};
  \foreach \t in {-4,-3,-2,-1,0,1,2,3,4}{
    \path[draw] (-0.05,\t) -- (0.05,\t);
    \path[draw] (\t,-0.05) -- (\t,0.05);
  }
  %
  \path node[point] (O) at (0,0){};
  \path node[point] (A) at (3,0){};
  %arcで円弧をかく
  %delta angleで動かす角度を指定
  \path[draw] (O) -- (A) arc[radius=3, start angle=0, delta angle=80] -- (O);
\end{tikzpicture}

コメントを参照。

%
% 三つ目の図
%
\begin{tikzpicture}[point/.style={inner sep=0pt, outer sep=0pt, minimum size=0pt}]
  %軸とグリッド
  \path[draw,color=gray!10] (-5,-5) grid (5,5);
  \path[draw,->,>=stealth] (-5,0) -- (5,0) node[right]{$x$};
  \path[draw,->,>=stealth] (0,-5) -- (0,5) node[left]{$y$};
  \foreach \t in {-4,-3,-2,-1,0,1,2,3,4}{
    \path[draw] (\t,-0.05) -- (\t,0.05);
    \path[draw] (-0.05,\t) -- (0.05,\t);
  }
  %
  \path node[point] (B) at (-1,1){};
  % arcで円弧をかく
  %現在地点を中心とするradius=3cmの円周上で,
  %start angle(x軸の正の向きとなす角)が30になるように回転の中心を決めて,end angleまで回転させる。
  %だから,回転の中心は,tikzの座標における原点とは必ずしも一致しない。
  \path[draw] (B) arc[radius=2,start angle=30, end angle=270];
\end{tikzpicture}

radiusstart angleは「現在の位置が指定された状況になるように」解釈される。詳細は上のコメントを参照。

おしまい。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください