LoginSignup
1
2

TikZ忘れやすいもの anglesライブラリ intersectonsライブラリ

Last updated at Posted at 2019-02-11

#anglesライブラリ

図形に角度を記入したいときの便利なライブラリです。

\usetikzlibrary{angles}

\draw pic[fill=gray,draw=black, <->, "#文字列",angle eccentricity=1.2, angle radius=0.5cm] {angle=A--B--C}
;

{angle=A--B--C}ABCは座標を表しています。$\angle \rm{ABC}$に角度の記号をつけます。Bを中心とした弧を書きます。
{angle=A--B--C}はAからCへ回反時計回りに角度をつけます。{angle=C--B--A}はその反対側に角度に記号がつきます。

\usetikzlibrary{angles}
\begin{document}
\begin{tikzpicture}
\draw (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);

\draw pic[draw=black, "$\theta$",angle eccentricity=1.3, angle radius=0.5cm] 
{angle=A--B--C};

\end{tikzpicture}
\end{document}

オプション

fill:弧の内部を指定した色で塗りつぶします

angle radius=0.5cm :弧の半径を決める

angle eccentricity=1.2: 文字列を配置する場所(中心からの離れ具合)を決めます

<->drawのオプションと同じ

fill

\usetikzlibrary{angles}
\begin{tikzpicture}
\draw (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);

\draw pic[draw=black, fill=gray,"$\theta$",angle eccentricity=1.3, angle radius=0.5cm] 
{angle=A--B--C};

\end{tikzpicture}

angle radius

\usetikzlibrary{angles}
\begin{tikzpicture}
\draw (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
\draw pic[draw=black, angle eccentricity=1.3, angle radius=0.5cm] 
{angle=A--B--C};
\node[below] at(B) {0.5cm};


\draw[xshift=4cm] (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
\draw pic[draw=black, angle eccentricity=1.3, angle radius=0.8cm] 
{angle=A--B--C};
\node[below] at(B) {0.8cm};

\draw[xshift=8cm] (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
\draw pic[draw=black, angle eccentricity=1.3, angle radius=1cm] 
{angle=A--B--C};
\node[below] at(B) {1cm};
\end{tikzpicture}

angle eccentricity

\usetikzlibrary{angles}
\begin{tikzpicture}
\draw (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
\draw pic[draw=black, "A",angle eccentricity=0.5, angle radius=0.5cm] 
{angle=A--B--C};
\node[below=10pt](ang) at (B) {\verb|angle eccentricity|};
\node[below] at (ang) {\verb|0.5|};


\draw[xshift=4cm] (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
\draw pic[draw=black, "A",angle eccentricity=0.8, angle radius=0.5cm] 
{angle=A--B--C};
\node[below=10pt](ang) at (B) {\verb|angle eccentricity|};
\node[below] at (ang) {\verb|0.8|};


\draw[xshift=8cm] (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
\draw pic[draw=black, "A",angle eccentricity=1, angle radius=0.5cm] 
{angle=A--B--C};
\node[below=10pt](ang) at (B) {\verb|angle eccentricity|};
\node[below] at (ang) {\verb|1|};
\end{tikzpicture}
\usetikzlibrary{angles}
\begin{tikzpicture}
\draw (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
\draw pic[draw=black, "A",angle eccentricity=2, angle radius=0.5cm] 
{angle=A--B--C};
\node[below=10pt](ang) at (B) {\verb|angle radius|};
\node[below] at (ang) {\verb|0.5|};

\draw[xshift=6cm] (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
\draw pic[draw=black, "A",angle eccentricity=2, angle radius=1cm] (ang)
{angle=A--B--C};
\node[below=10pt](ang) at (B) {\verb|angle radius|};
\node[below] at (ang) {\verb|1|};

\draw[xshift=12cm] (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
\draw pic[draw=black, "A",angle eccentricity=2, angle radius=1.5cm] (ang)
{angle=A--B--C};
\node[below=10pt](ang) at (B) {\verb|angle radius|};
\node[below] at (ang) {\verb|1.5|};
\end{tikzpicture}

矢印

\usetikzlibrary{angles}
\begin{tikzpicture}
\draw (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);

\node[right] at (A) {A};
\node[below] at (B) {B};
\node[right] at (C) {C};

\draw pic[draw=black, -latex, angle radius=0.5cm] (ang)
{angle=A--B--C};

\node[right=0.6cm] at (ang) {\verb|angle=A--B--C|};

\end{tikzpicture}

矢印を始点に場合

\usetikzlibrary{angles}
\begin{tikzpicture}
\draw (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);

\node[right] at (A) {A};
\node[below] at (B) {B};
\node[right] at (C) {C};

\draw pic[draw=black, latex-, angle radius=0.5cm] (ang)
{angle=A--B--C};

\node[right=0.6cm] at (ang) {\verb|angle=A--B--C|};

\end{tikzpicture}

始点と終点を入れ替えた場合

\usetikzlibrary{angles}
\begin{tikzpicture}
\draw (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);

\node[right] at (A) {A};
\node[below] at (B) {B};
\node[right] at (C) {C};

\draw pic[draw=black, -latex, angle radius=0.5cm] (ang)
{angle=C--B--A};

\node[right=0.6cm] at (ang) {\verb|angle=C--B--A|};

\end{tikzpicture}

直角マーク

直角マークを入れたいときは,次のようにrightを付け加えます。

\usetikzlibrary{angles}
\begin{tikzpicture}
\draw (3,-1) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);

\node[right] at (A) {A};
\node[below] at (B) {B};
\node[right] at (C) {C};

\draw pic[draw=black, angle radius=0.4cm]
{right angle=C--B--A};

\node[right=0.6cm] at (B) {\verb|right angle=C--B--A|};

\end{tikzpicture}

時計回り,反時計回り関係なく,小さく方の角に直角マークを付けます。

nodeとの相性の悪さ

nodeを使って点の名前を決めてしまうと,次のようになってしまいます。

\begin{document}
\usetikzlibrary{angles}
\begin{tikzpicture}
\draw (3,-1) node[right] (A) {A} -- (0,0) node[below] (B) {B} -- (2,2) node[right] (C) {C};

\draw pic[draw=black, -latex, angle radius=0.5cm] 
{angle=A--B--C};

\end{tikzpicture}
\end{document}

交点の求め方

2つの曲線に名前をつける。

\draw[name path = BD] (B) -- (D);
\draw[name path = AC] (A) -- (C);

オプションname path = #文字列で名前を付けることができる。パスが存在すればよいので,\drawではなく\pathでもよい。


\node[name intersections = {of = BD and AC, by ={E}}] at (E) {E(交点)}; 

オプションに交点を計算させるコマンドを入れる。{of = BD and AC}はパスBDとパスACの名前を書いてパスを指定している。by = {E}は交点に(座標として)名前を付けている。このオプションは省略できる。その場合,交点の名前はintersection-1となる。

交点が複数ある場合はintersection-1intersection-2intersection-3...となる。どのような順番で決定されているかは謎。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2