0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

大人向け。2013年六甲中(その2/3)「【たった1本の補助線】できる小学生は余裕で解けます...」様を、...。Gemin先生へ動画はあきらめて会話です。

0
Last updated at Posted at 2026-10-09

(その1/3) https://qiita.com/mrrclb48z/items/f15a4283ab76544ac44a
(その3/3) https://qiita.com/mrrclb48z/items/8cb23b5de947f2aad3ce

・共テの花子さん、太郎さん 登場です。
・sympyのソースコード→会話

Gemini先生へ。

以下の解説を、共通テストの花子さん、太郎さんの会話形式でお願いします。
(ver1.1ソースコード省略)

(回答多数省略) 1回目?メネラウス 参考ページ後半。 (おまけ)Gemini先生へ。今回の履歴。
・結局どう質問したらイイノ。です。

以下のPythonコードについて、メネラウスの定理などは使わず、
ソースコードで用いている intersection や座標幾何の処理に
忠実に沿った解説を作成してください。
解説は共通テスト風の花子さんと太郎さんの会話形式(「」を使用)とし、
LaTeX表記を使わずに黒背景のテキスト形式で出力してください。

# ver1.1
from sympy import *
AD,DB,BE,EC=4,8,6,3
A,D,B,E,C=map(Point,[(0,AD+DB),(0,DB),(0,0),(BE,0),(BE+EC,0) ])
F        =Line(A,E).intersection(Line(D,C))[0]    #;print(F)
print("#",      Polygon(D,B,E,F).area )
print("#",float(Polygon(D,B,E,F).area))
# 144/5
# 28.8

会話(ver1.1)

花子「まずはSymPyモジュールから全ての関数を読み込むのね。」

太郎「うん、これで図形の座標や面積を計算する準備が整うよ。」

花子「各線分の長さを AD=4, DB=8, BE=6, EC=3 と設定するわ。」

太郎「点Bを原点 (0,0) として、点A, D, B, E, C の座標を Point で定義するんだね。」
花子「点Aは (0,12)、点Dは (0,8)、点Bは (0,0)、点Eは (6,0)、点Cは (9,0) になるわね。」

太郎「直線AEと直線DCの交点を intersection で求めて、その1つ目の要素を点Fとするよ。」
花子「これで交点Fの座標が自動で計算されて取得できるのね。」

太郎「点D, B, E, F を頂点とする多角形(四角形)Polygon の面積 area を分数形式で出力するよ。」
花子「計算結果は 144/5 になるわね。」

太郎「最後に float を使って、その面積を小数形式に変換して出力するんだ。」
花子「28.8 という小数値が得られるのね。」

太郎「分数の実行結果がこれだね。」

花子「小数の実行結果でぴったり一致しているわね。」

(回答抜粋)
9行ピッタリです。ステキ。

コードの各行に対応した9つのステップ(コメント行、空白行、コード6行、出力行)に綺麗に収まりましたね。
また何かお困りの際や調整したい点があれば、いつでもお気軽にお声がけください!

(おまけ)Gemini先生へ。今回の履歴。

・追加に追加した結果です。

1. 以下の解説を、共通テストの花子さん、太郎さんの会話形式でお願いします。# ver1.1 (Pythonコード含む)
2. メネラウスは使わないで。私のintersectionで。出力は、markdownのテキスト形式。背景黒で。htmlにせず、テキスト形式で。式もテキスト形式で。わたしのソースコードに忠実に、1行ずつでお願いします。会話らしく、: でなく「」で表示して。背景黒を忘れないで。コピーしやすい形式で。div 不要。出力にソースコード不要。黒背景。divイラナイ。会話の行間にソースコード行番号を追加して。出力の追番は不要です。会話文の間にいれて。「」忘れないで。tex形式にしないで。出力の追番にしないで。ソースコードの行番号にして。コメント文。空白行も行番号にして。その文の解説不要です。
3. 上記の回答の 行頭# の文を削除 して。
4. 直前の回答をもらえるための質問文をまとめて。1つにして。最初のソースコードで連結して。背景黒で。
5. Texがでないようにして。それで。回答もして。回答もmarkdownで。
6. 9行ピッタリです。ステキ。
7. 上記の私の質問すべてから、Markdownのテキスト形式で、質問リストを出力して。追番を追加して。本質問も含めて。コピーできる形式で。空白行不要です。

(途中の回答)

# コメント文。
花子「まずはSymPyモジュールから全ての関数を読み込むのね。」

# 空白行
太郎「うん、これで図形の座標や面積を計算する準備が整うよ。」

# AD,DB,BE,EC=4,8,6,3
花子「各線分の長さを AD=4, DB=8, BE=6, EC=3 と設定するわ。」

# A,D,B,E,C=map(Point,[(0,AD+DB),(0,DB),(0,0),(BE,0),(BE+EC,0) ])
太郎「点Bを原点 (0,0) として、点A, D, B, E, C の座標を Point で定義するんだね。」
花子「点Aは (0,12)、点Dは (0,8)、点Bは (0,0)、点Eは (6,0)、点Cは (9,0) になるわね。」

# F        =Line(A,E).intersection(Line(D,C))[0]    #;print(F)
太郎「直線AEと直線DCの交点を intersection で求めて、その1つ目の要素を点Fとするよ。」
花子「これで交点Fの座標が自動で計算されて取得できるのね。」

# print("#",      Polygon(D,B,E,F).area )
太郎「点D, B, E, F を頂点とする多角形(四角形)Polygon の面積 area を分数形式で出力するよ。」
花子「計算結果は 144/5 になるわね。」

# print("#",float(Polygon(D,B,E,F).area))
太郎「最後に float を使って、その面積を小数形式に変換して出力するんだ。」
花子「28.8 という小数値が得られるのね。」

# 144/5
太郎「分数の実行結果がこれだね。」

# 28.8
花子「小数の実行結果でぴったり一致しているわね。」

いつもと違うおすすめです。

PR
・次は、私の自作です。マタカヨーです。(登場人物。中学2年生A子、B子、私)

・次は、、私の自作です。(登場人物。中学3年生A子、B子、B子の弟(小学5年生)、私)
 当時、FreeCAD で真面目に作図していました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?