2025年11月12日水曜日

五芒星

真鍋さんがMIPOで sin π/5 の求め方を書いていた。

最初の代数的方法は,sin n x の一般式(n倍角の公式)を使うとよい(ド・モアブルの定理経由)。つまり,sin 5θ = 16 sin^5θ - 20 sin^3θ + 5 sinθ。θ=π/5を代入すると,x=sinθとして,16x^4-20x^2+5 = 0というxの4次方程式(x^2の2次方程式)がでてきてすぐに納得できた(といってもn倍角の公式導出はChatGPTに頼ったけれど・・・)。

一方2番目の幾何学的な方法は,正五角形と五芒星をかいてθ=π/5=36度の鋭角を持った直角三角形の相似条件から求めるというもので,それを前提に自分でも考えてみようとしたけれど,中々思いつかない。しかたがないので,ちゃんと図を描いてみようとしたが,フリーハンドではわかりにくい。

そこで,ChatGPT-5 Thinking にTikZでの作成を依頼した。こんな感じで。

Q(koshix):
LatexのTikZを使って次の作図をしてください。
(1) 薄いグレイドットの1cmグリッドが入ったxy座標系をとって,以下の図形はy>=0の領域だけ描画する。
(2) 原点を中心として半径6cmの円
(3) 原点を中心として中心から頂点までの距離が6cmの正五角形 。ただし,1つの頂点は(6,0) におく。 
(4) 各頂点をすべて結んで五芒星になるようにする。
(5) 原点にO,(6,0)の頂点をA,反時計回りの頂点を,B,Cとラベルする。
(6) 原点から辺ABに垂線ODを降ろす。
(7) OBとACが直交している交点をEとする。
以上よろしくお願いします。
(その後,ODとACの交点F,FからAOに降ろした垂線の足Gを追加した。)

結果のTikZをチューニングしたものが以下のコードである。

\begin{tikzpicture}[scale=1.0]

% 1cmグリッド(薄いグレードット)
\draw[step=1cm,black!50,dotted] (0,0) grid (7,7);

% 座標軸
\draw[gray!50,->] (0,0) -- (7,0) node[right] {$x$};
\draw[gray!50,->] (0,0) -- (0,7) node[above] {$y$};

% 点の定義
\coordinate (O) at (0,0);
\coordinate (A) at (6,0);                        % (6,0)
\coordinate (B) at ({6*cos(72)},{6*sin(72)});    % 72°
\coordinate (C) at ({6*cos(144)},{6*sin(144)});  % 144°
\coordinate (Dfull) at ({6*cos(216)},{6*sin(216)});
\coordinate (Efull) at ({6*cos(288)},{6*sin(288)});

% 半径6cmの円
\draw[gray!50] (O) circle (6);

% 正五角形(外接円半径6)
\draw[gray]  (A) -- (B) -- (C) -- (Dfull) -- (Efull) -- cycle;

% 五芒星(頂点を全て結ぶ)
\draw  (A) -- (C) -- (Efull) -- (B) -- (Dfull) -- cycle;

% Oから頂点A,Bへの線
\draw[thick, blue] (O)--(A);
\draw[thick, blue] (O)--(B);
  
% Oから辺ABへの垂線 OD
\coordinate (D) at ($(A)!(O)!(B)$);
\draw[thick,blue,dashed] (O) -- (D);

% OB と AC の交点 E(OB ⟂ AC)
\path[name path=OB] (O) -- (B);
\path[name path=AC] (A) -- (C);
\path[name intersections={of=OB and AC,by=E}];

% OD と AC の交点 F (OD ∠ AC)
\path[name path=OD] (O) -- (D);
\path[name path=AE] (A) -- (E);
\path[name intersections={of=OD and AE,by=F}];

% Fから辺AOへの垂線 FG
\coordinate (G) at ($(O)!(F)!(A)$);
\draw (F) -- (G);

% 点の描画
\foreach \P in {O,A,B,C,D,E,F,G}
  \fill (\P) circle (1.8pt);

% ラベル
\node[below left]  at (O) {$O$};
\node[above right] at (A) {$A$};
\node[above right] at (B) {$B$};
\node[above left]  at (C) {$C$};
\node[above right] at (D) {$D$};
\node[above right] at (E) {$E$};
\node[below right] at (F) {$F$};
\node[below right] at (G) {$G$};

\end{tikzpicture}

大変勉強になった。TikZにおいて,
・ある点から別の点への垂線の降ろし方
・2つの線分の交点の求め方
・一連の点の表現を繰り返しで指定する方法
がわかったのだった。

えーと,肝腎の相似条件はわからないままで難渋している。MIPOをもう一度よく読んで見ると頂角36度の二等辺三角形の相似条件だった。チーン。直角三角形ではなかった。まあ,勉強になったからよしとしよう。

図:ChatGPTが生成したTikZで描いた正五角形と五芒星

0 件のコメント: