【LaTeX】【tikz入門】曲線を8種類描く
数式を扱うLaTeXではtikzパッケージで図形描画を行うことができる。
円や放物線、サインカーブなど、一般的に使われる曲線は、グラフやプロットなどを使わなくても描けるように構文があらかじめ用意されている。
そのような便利な構文を8つピックアップする。
準備
tikzパッケージを使用するためには、プリアンブル(\\begin\{document\}
の前)に次のように記述して、tikzパッケージを使えるようにさせる。
\usepackage{tikz}
ここでエラーが出る場合は、使っている環境にtikzパッケージがインストールされていないので、別途インストールする必要がある。
基本構文
\begin{tikzpicture} \命令 [オプション] (座標) 構文; \end{tikzpicture}
\\命令
は以下3つのどれかを使って図形を描く-
\\draw
線で描く -
\\fill
塗りつぶす -
\\filldraw
塗りつぶした上で縁を別の色で描く-
\\filldraw
にオプションで\[fill=色,draw= 色\]
のように指定する
-
-
- 座標について
- 座標は直行座標(x,y)または極座標(t:r)使える
- 座標やオプションの値など共通して、長さの単位はセンチメートル、角度の単位は度数を使う
- x軸は右が正で、y軸は上が正。右方向が角度の0度で、左回りが正。
具体例
任意の曲線
曲線は2つの座標をto
でつなげ、オプションでそれぞれ角度を指定する。out
は始点から出る線の角度で、in
は終点から入る線の角度。それぞれ単位は度数。
\begin{tikzpicture} \draw (0,0) to [out=-30,in=-150] (2,0); \end{tikzpicture}
- 実行結果
円
円は指定した座標を中心点として、オプションで指定された半径で描かれる。座標の後にcircle [radius=半径]
と記述する。
\\fill
コマンドは座標の手前にオプションをつけることで色を指定できる。
\begin{tikzpicture} \fill [red] (0,0) circle [radius=2]; \end{tikzpicture}
- 実行結果
楕円
円の構文のオプションを拡張して楕円が描ける。オプションはそれぞれ、x radius
はx方向の半径、y radius
はy方向の半径、rotate
は回転角度で、度数で指定する。角度を省略すると0度とみなされる。
\begin{tikzpicture} \fill [red] (0,0) circle [x radius=1,y radius=2,rotate=30]; \end{tikzpicture}
- 実行結果
円弧
円弧の構文は次のようなものである。
(座標) arc (開始角度:終了角度:半径)
ここで(座標)は中心の座標ではなく、円弧を開始する座標である。
\begin{tikzpicture} \filldraw [fill=blue,draw=red] (0,2) arc (90:30:2) -- cycle; \end{tikzpicture}
- 実行結果
扇形
円弧に中心点となる座標を適切につなげると扇形ができる。
\begin{tikzpicture} \filldraw [fill=blue, draw=red] (0,2) arc (90:30:2) -- (0,0) -- cycle; \end{tikzpicture}
- 実行結果
放物線
放物線の構文は次のようなものである。
(始点) parabola bend (頂点) (終点)
始点から頂点へ放物線を描き、頂点から終点へ放物線を描くため、うまく放物線をつなげるためには適切な座標を指定する必要がある。
\begin{tikzpicture} \draw (-1,1) parabola bend (0,0) (1,1); \end{tikzpicture}
- 実行結果
サインカーブ
サインカーブは座標をそれぞれsin
,cos
でつなげる。それぞれ$$0\sim\pi/4$$分のカーブを描くため、うまくつなげるためにはそれぞれの構文を適切に使う必要がある。
\begin{tikzpicture} \draw (0,0) sin (1,1) cos (2,0) sin (3,-1) cos (4,0); \end{tikzpicture}
- 実行結果
3次ベジェ曲線
ベジェ曲線の構文は次のようなものである。
(始点) .. controls (方向点1) and (方向点2) .. (終点)
方向点2を省略すると、 方向点1ではなく終点とみなされるので注意。
\begin{tikzpicture} \draw (-2,0) .. controls (-1,-1) and (1,1) .. (2,0); \end{tikzpicture}
- 実行結果
まとめ
以上をまとめると、直線を描く構文は次のようになる。
\begin{tikzpicture} \構文(draw又はfill) [オプション] (直交座標x,y又は極座標t:r) 構文; \end{tikzpicture}
- 任意の曲線は
to
で、オプションはout
,in
- 円や楕円は
circle
で、オプションはx radius
,y radius
,(rotate
) - 円弧や扇形は
arc
で、引数は「開始角度」、「終了角度」、「半径」 - 放物線は
parabola bend
で座標に注意 - サインカーブは
sin
,cos
で座標に注意 - ベジェ曲線は
controls
で、方向点の指定が1つだけだった場合の振る舞いに注意