つれづれなる備忘録

日々の発見をあるがままに綴る

Texによる文書作成30 ~円、座標、円弧の作図

今回はTikzを用いた円、座標、円弧の作図の例を紹介したい。

atatat.hatenablog.com

1. 座標と図形

Tikzを利用するにはプリアンブル領域に\usepackage{tikz}としてパッケージをロードしておく。

XY座標軸は\draw (始点) -- (終点)として直線を描画する。また円は\draw (中心点) circle (半径);とすると描画できる。

\begin{tikzpicture}
\draw (-1.5,0) --(1.5,0); \draw (0,-1.5) --(0,1.5); 
\draw (0,0) circle (1cm); 
\end{tikzpicture}

実行すると以下のように十字線と円が描画される。

"円と十字線"
円と十字線

次にグリッドを追加する。\draw[step=グリッド幅] (左下) grid (右上);とすることで、左下から右上の範囲でstep幅ごとに直線が追加される。またオプションで\draw[step=.5cm,gray,very thin]とすれば灰色、細い線でグリッドを描画する。very thinのところをdashedなどとすると破線に変更できる。

\begin{tikzpicture} 
\draw (-1.5,0) --(1.5,0); \draw (0,-1.5) --(0,1.5);
\draw (0,0) circle (1cm);
\draw[step=.5cm,gray,very thin] (-1.4,-1.4) grid (1.4,1.4); 
\end{tikzpicture}

実行すると以下のように十字線と円にグリッドを追加することができる。

"グリッド追加"
グリッド追加

2. 円弧の描画

円弧の描画は\draw (円弧開始点) arc (開始角:終点角:半径);とする。以下は座標点(3mm,0mm)から0°から30°まで、半径3mmの円弧を描画する。

\begin{tikzpicture} 
\draw (0,0) circle (1cm); 
\draw (3mm,0) arc (0:30:3mm);
\end{tikzpicture}

"円弧の描画"
円弧の描画

円弧の開始座標点を横にずらしたい場合は、例えば\draw (4mm,0) arc (0:30:3mm);とすると円弧の形はそのままで、横に位置をずらすことができる。

次に円弧部分を扇状に塗りつぶす場合は\filldrawコマンドを使用する。\filldraw[fill=塗りつぶし色,draw=線色](扇中心点)--(円弧開始点) arc (開始角:終点角:半径)--cycle;とすると扇状の図形を塗りつぶすことができる。 塗りつぶし色は、例えばgreen!20!whiteとすると緑20%、白80%の混色を指定することができる。\filldrawのdrawオプションを指定すると輪郭線を描画することができる。

\begin{tikzpicture} 
\draw (0,0) circle (1cm); 
\filldraw[fill=green!20!white,draw=green!50!black](0,0)--(3mm,0mm) arc (0:30:3mm)--cycle;
\end{tikzpicture}

"扇塗りつぶし"
扇塗りつぶし

3. 垂線などの追加

円上の1点から垂線を引く。円上の点は極座標的に指定するには (30:1cm)とすると1cmの円上、角度30°を指すことになる。次に+(0,-0.5)とすると直前に指定した点 (30:1cm)からx方向に0, y方向に-0.5移動した点を指定することができる。このように座標点を直接指定する以外に、直前の座標からの相対座標を用いて点を指定することができる。 1cmの円上、角度30°の点から垂線を下すには、2点の座標を用いて\draw (30:1cm) -- +(0,-0.5);とする。以下は、垂線を赤太線にするため\drawコマンドのオプションにred, very thickを追加している。

\begin{tikzpicture} 
\draw (0,0) circle (1cm);
\filldraw[fill=green!20!white,draw=green!50!black](0,0)--(3mm,0mm) arc(0:30:3mm)--cycle;
\draw[red,very thick](30:1cm)--+(0,-0.5);
\end{tikzpicture}

"垂線追加"
垂線追加

さらに垂線を下した点から原点に向かって線を引く。(30:1cm)++(0,-0.5)とすると1cmの円上、角度30°から相対座標(0,-0.5)を移動した点を座標点として設定することができる。さらに相対座標の移動を加えたい場合は++を加えて、例えば(30:1cm)++(0,-0.5)++(0,-0.5)とする。垂線を下した点から原点に向かって線を青太線として、さらに円上の点から原点に向かって線を引いて垂線と合わせて3角形を描画する。

\begin{tikzpicture} 
\draw (0,0) circle (1cm); 
\filldraw[fill=green!20!white,draw=green!50!black](0,0)--(3mm,0mm)arc(0:30:3mm)--cycle;
\draw[red,very thick](30:1cm)--+(0,-0.5);
\draw[blue,very thick](30:1cm)++(0,-0.5)--(0,0);
\draw (30:1cm) -- (0,0);
\end{tikzpicture}

"垂線追加2"
垂線追加2

4. ラベル追加

線などオブジェクトに近くにラベルを配置するにはnode[オプション]{テキスト}とする。テキストはtexコードでもよく-- node[left=1pt] {$\sin\alpha$}とすると線の1pt分左側にsin αを表示することができる。

\begin{tikzpicture} 
\draw (0,0) circle (1cm); 
\filldraw[fill=green!20!white,draw=green!50!black](0,0)--(3mm,0mm)arc(0:30:3mm)--cycle;
\draw[red,very thick](30:1cm)-- node[left=1pt]{$\sin\alpha$} +(0,-0.5);
\draw[blue,very thick](30:1cm)++(0,-0.5) -- node[below=2pt]{$\cos\alpha$} (0,0);
\draw (30:1cm) -- (0,0);
\end{tikzpicture}

"ラベル追加"
ラベル追加

5. スケール調整

 ラベル追加したところでほぼ完成だが、ラベルに対して図形が小さいのでtikzpictureのscaleオプションでサイズ調整する。あわせてグリッドの部分を十字の終端を矢印に変更して、最終的には以下のようなコードを実行する。

\begin{tikzpicture}[scale=2] 
\draw[-Stealth] (-1.5,0) --(1.5,0); \draw[-Stealth] (0,-1.5) --(0,1.5); 
\draw (0,0) circle (1cm); 
\draw[step=.5cm,gray,very thin] (-1.4,-1.4) grid (1.4,1.4);
\filldraw[fill=green!20!white,draw=green!50!black](0,0)--(3mm,0mm)arc(0:30:3mm)--cycle;
\draw[red,very thick](30:1cm)-- node[left=1pt] {$\sin\alpha$} +(0,-0.5);
\draw[blue,very thick](30:1cm)++(0,-0.5) -- node[below=2pt]{$\cos\alpha$} (0,0);
\draw (30:1cm) -- (0,0);
\end{tikzpicture}

"完成図"
完成図

6. まとめ

 Tikzを用いた作図として円、グリッド、円弧、塗りつぶし、ラベル追加する方法について紹介した。