質問失礼します.点O,点Aをそれぞれ中心とする円同士の交点の1つをDとして,円に内接する四角形を作図しようとしました.すると,なぜかすべての直線がDまで届かないようになってしまいました.コンパイル自体は通るのですが,このような症例が初めてなので,困惑しています.どなたかのお知恵を拝借できればと思います.よろしくお願いいたします.
以下,ソースコードで,タイプセットはplatexです.
\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{intersections, calc, ,angles,quotes, arrows.meta,shapes,math}
\begin{document}
\begin{tikzpicture}[scale=0.6]
\tikzstyle{every node}=[font=\footnotesize]
\tikzmath{
\a = 18; %底辺の長さ
\b = 14; %右側の辺の長さ
\c = 14; %左側の辺の長さ
\A = acos((\b^2+\c^2-\a^2)/(2*\b*\c));
\BB = acos((\c^2+\a^2-\b^2)/(2*\c*\a));
\C = acos((\a^2+\b^2-\c^2)/(2*\a*\b));
\R = \a/(2*sin(\A));
}
\coordinate (B) at (0,0);
\coordinate (A) at (\BB:\c);
\coordinate (C) at (0:\a);
\coordinate[label=left:O] (O) at (90-\A:\R);
\draw (O) circle [radius=2pt];
\draw[dotted,thick] (C) to [bend right=20] node[fill=white,midway]{$\b$} (A);
\draw[dotted,thick] (A) to [bend right=20] node[fill=white,midway]{$\b$} (B);
\draw[thick] (A)--(B)--(C)--cycle;
\foreach \P in{A,B,C} \draw ($(O)!11/10!(\P)$) node{\P};
\draw [name path=C1] (O) circle [radius=\R];
\draw [name path=C2] (A) circle [radius={2*sqrt(11)}];
\fill [name intersections={of=C1 and C2}] (intersection-2) node (D) [label=above:D] {};
\draw (A)--(D)--(C);
\draw (B)--(D);
\end{tikzpicture}
\end{document}
(D)
がcoordinate
ではなく「大きさをもつ(rectangle
の)node
」であるからです。最後から6行目を
\fill [name intersections={of=C1 and C2}] (intersection-2) node[draw=red] (D) [label=above:D] {};
のように変えてnodeを可視にすれば理屈がわかると思います。
node
をcoordinate
に変えれば所望の結果が得られます。(coordinate
なので最後の{}
は削除する。)
\fill [name intersections={of=C1 and C2}] (intersection-2) coordinate (D) [label=above:D];
b c が同じ値だから結果は変わらないのですが以下のところも直した方が良いと思います。
\draw (O) circle [radius=2pt];
- \draw[dotted,thick] (C) to [bend right=20] node[fill=white,midway]{$\b$} (A);
+ \draw[dotted,thick] (C) to [bend right=20] node[fill=white,midway]{$\c$} (A);
\draw[dotted,thick] (A) to [bend right=20] node[fill=white,midway]{$\b$} (B);
\draw (O) circle [radius=2pt];
- \draw[dotted,thick] (C) to [bend right=20] node[fill=white,midway]{$\b$} (A);
+ \draw[dotted,thick] (C) to [bend right=20] node[fill=white,midway]{$\c$} (A);
\draw[dotted,thick] (A) to [bend right=20] node[fill=white,midway]{$\b$} (B);