コードDE描画

プログラミングで図を描く練習

【LaTeX】【tikz入門】座標を計算する方法3選

数式を出力するLaTeXでグラフや図形を使うことができるtikzパッケージでは、座標を指定して図形を描く。

きれいな図形を描くためには、適切な座標の位置を指定する必要がある。

しかし、適切な位置をユーザが計算するのはとても大変である。

そこでtikzパッケージではある程度の計算を自動で行ってくれる構文がいくつか用意されている。

以下では標準で使えるもの3つを取り上げる。

準備

tikzパッケージを使用するためには、プリアンブル(\\begin\{document\}の前)に次のように記述して、tikzパッケージを使えるようにさせる。

\usepackage{tikz}

ここでエラーが出る場合は、使っている環境にtikzパッケージがインストールされていないので、別途インストールする必要がある。

具体例

座標の相対参照

座標を指定するときに、2つのハイフン(-)の後に続けて2つのプラス(+)をおくと相対参照となる。

\begin{tikzpicture}
\draw [red] (1,1) -- ++(1,0);
 \draw [blue] (1,0) -- ++(1,1);
\end{tikzpicture}
  • 実行結果

座標の相対参照
座標の相対参照

水平、垂直な線の交点

2つの点から水平、垂直な線をひいたときの交点を求めることができる。線を引く構文と似ているので注意。

  • ((座標1) \|- (座標2)) 座標1を通る垂直線と、座標2を通る水平線の交点
  • ((座標1) -\| (座標2)) 座標1を通る水平線と、座標2を通る垂直線の交点

赤い点を通る垂直線と青い点を通る水平線の交点を紫色にする。

座標の前に大かっこ[]を付けて色名を入れることで色を付けることができる。

\begin{tikzpicture}
\draw (2,0) |- (0,1);
\fill [red] (2,0) circle [radius=0.1];
\fill [blue] (0,1) circle [radius=0.1];
\fill [purple] (2,0) |- (0,1) circle [radius=0.1];
\end{tikzpicture}
  • 実行結果

垂直線と水平線の交点
垂直線と水平線の交点

赤い点を通る水平線と青い点を通る垂直線の交点を紫色にする。

\begin{tikzpicture}
\draw (2,0) |- (0,1);
\fill [red] (2,0) circle [radius=0.1];
\fill [blue] (0,1) circle [radius=0.1];
\fill [purple] (2,0) -| (0,1) circle [radius=0.1];
\end{tikzpicture}
  • 実行結果

水平線と垂直線の交点
水平線と垂直線の交点

中心からのベクトルの絶対値

‘veclen(x座標,y座標)`とするとその座標のベクトルの絶対値が取得できる。

これを利用して半径$$\sqrt{2{$$の円を描く。

\begin{tikzpicture}
\draw (-2,-2) grid (2,2);
\draw (0,0) circle [radius={veclen(1,1)}];
\end{tikzpicture}
  • 実行結果

中心からのベクトルの絶対値
中心からのベクトルの絶対値

まとめ

tikzパッケージで使える座標計算する構文は次のとおりである。

  • 相対参照は2つのハイフン(-)の後に続けて2つのプラス(+)をおく。
  • 2つのハイフン(-)の代わりに ハイフン(-)と縦棒(|)または縦棒(|)とハイフン(-)使うことで2つの点を水平線と垂直線で結んだ点の座標を求められる。
  • veclec関数でベクトルの絶対値が求められる。

参考リンク

tikz wiki