見出し画像

TikZ 実用例(3)~三角形の傍接円~

今回は

三角形の3辺の長さを入力すれば、自動的に傍接円を描くコード

です!

いやぁ、使い道はほとんどないですね(笑)
せっかく作ったので供養です。

\begin{tikzpicture}[scale=0.3]
\tikzmath{
  \a = 5;
  \b = 7;
  \c = 8;
  \A = acos((\b^2+\c^2-\a^2)/(2*\b*\c));
  \B = acos((\c^2+\a^2-\b^2)/(2*\c*\a));
  \C = acos((\a^2+\b^2-\c^2)/(2*\a*\b));
  \S = \a*\b*sin(\C)/2;
  \r1 = 2*\S/(\b+\c-\a);
  \r2 = 2*\S/(\c+\a-\b);
  \r3 = 2*\S/(\a+\b-\c);
}
\coordinate (A) at (\B:\c);
\coordinate (B) at (0,0);
\coordinate (C) at (\a,0);
\coordinate[label=below:{$\mathrm{K_1}$}] (K1) at (\B/2-90:{\r1/cos(\B/2)});
\coordinate[label=right:{$\mathrm{K_2}$}] (K2) at ($(C)+(90-\C/2:{\r2/cos(\C/2)})$);
\coordinate[label=left:{$\mathrm{K_3}$}] (K3) at (\B/2+90:{\r3/cos(\B/2)});
\draw[very thick] (A)--(B)--(C)--cycle;
\draw (K1)--(K2)--(K3)--cycle;
\foreach \i in{1,2,3} \draw (K\i) circle[radius=\r\i];
\foreach \i in{1,2,3} \fill (K\i) circle[radius=5pt];
\draw ($(A)!2!(B)$)--($(B)!2!(A)$)
          ($(B)!3!(C)$)--($(C)!3!(B)$)
          ($(C)!2.5!(A)$)--($(A)!2!(C)$);
\draw (A)+(\B+\A/2:13mm) node{\small A};
\draw (180+\B/2:12mm) node{\small B};
\draw (C)+(-\C/2:10mm) node{\small C};
\end{tikzpicture}

これをコンパイルすると

傍心

となります。

最初の方の \a, \b, \c の数値を変えれば図が変わるので、お試しあれ!
なお、その数値によって「接線の長さ」とか「点のラベルの位置」の微調整が必要ですが、ご了承ください。

この記事が気に入ったらサポートをしてみませんか?