・本問題から、タイトル名を変えました。大人用。 → 大人向け。
・>(Youtubeコメント様より) 26/9/14に参考になる類似問題の動画があります。
2014年大阪星光学院
https://youtu.be/If3IBQZR-iA?si=KO08Rm91Db8ChKRU
https://qiita.com/mrrclb48z/items/911c62bebf79f3ed77eb
・復習のつもりです?
オリジナル
まなびスクエア 様 (0:00〜10:35) いつもお世話になっております。
【天才しか解けない図形】たった1つのヒラメキで一発で解けます【小学生が解く算数】
https://youtu.be/-Y0B2y3JIp0
いつものsympyで(オリジナル Youtbe様の方法を参考に)
ver0.1
・先生の丸写しです。図形の証明は省略です。ステキです。
・補助線 2本。AE,EC
・>同じ形の図形を作っていく。
# ver0.1
from sympy import *
var('sikaku_1,sikaku_5,sikaku_9',real=True,positive=True)
AB =sikaku_5
EB =sikaku_9
BE=Rational(9,5)*AB
EB=12*Rational(9,5) ;print("#",float(EB))
EA=EB-AB # ;print(EA)
sikaku_4=EB # ;print("#",float(sikaku_4))
sikaku_1=sikaku_4/4 ;print("#",float(sikaku_1))
sikaku_5=sikaku_1*5
print("#",sikaku_5)
# 21.6
# 5.4
# 27
いつもの sympyで
ver1.1
・ヤッパリできない。当たり前。
# # ver1.1
# # ヤッパリできない。当たり前。
# from sympy import *
# var('k,degθ',real=True,positive=True)
# DA =4
# B,D,C,A=map(Point,[(0,0),(5*k,0),(9*k,0),(DA*cos(rad(degθ)),DA*sin(rad(degθ)))])
# sol =solve([Eq(Line(A,D).angle_between(Line(A,B)),rad(-40)), \
# Eq(Line(A,D).angle_between(Line(A,C)),rad( 70))], \
# [k,degθ])
# print(sol)
ver2.1
・(できそうにないから省略です。)
ver2.2
・Gemini先生へ。2014年大阪星光学院のver2.2 の値を 本問題の値に 置き換えて。です。
以下を
AD=4→AD=12
20° → 40°
80° → 70°
4:3 → 5:4
にして下さい。
(元ネタ。2014年大阪星光学院のver2.2 のソースコードの表示を省略)
# SymPyを用いた平面図形における角度(θ)および各線分長の数値計算プログラム
# ver2.2 (パラメータ変更版)
from sympy import Abs, Eq, Rational, Symbol, nsolve, rad, sin
# 変数(角度 deg_theta)の定義
deg_theta = Symbol("deg_theta", real=True)
# 式の定義(正弦定理による各線分の長さの表現)
BD_expr = 12 * sin(rad(40)) / Abs(sin(rad(deg_theta - 40)))
DC_expr = 12 * sin(rad(70)) / Abs(sin(rad(70 + deg_theta)))
AB_expr = 12 * sin(rad(deg_theta)) / Abs(sin(rad(deg_theta - 40)))
# 条件式: BD / DC = 5 / 4
eq = Eq(BD_expr / DC_expr, Rational(5, 4))
# 数値求解 (0° < θ < 90° 内の2つの解)
sol1 = float(nsolve(eq, deg_theta, 10))
sol2 = float(nsolve(eq, deg_theta, 60))
# 値の計算
bd1 = float(BD_expr.subs(deg_theta, sol1))
dc1 = float(DC_expr.subs(deg_theta, sol1))
ab1 = float(AB_expr.subs(deg_theta, sol1))
bd2 = float(BD_expr.subs(deg_theta, sol2))
dc2 = float(DC_expr.subs(deg_theta, sol2))
ab2 = float(AB_expr.subs(deg_theta, sol2))
# 計算結果の出力
print("==========================================")
print(" 計算結果一覧 ")
print("==========================================")
print(f"[解 1]")
print(f" θ = {sol1:.6f}°")
print(f" BD = {bd1:.6f}")
print(f" DC = {dc1:.6f}")
print(f" BD / DC = {bd1/dc1:.6f} (厳密値: 5/4)")
print(f" AB = {ab1:.6f} (整数値: 3)")
print("------------------------------------------")
print(f"[解 2]")
print(f" θ = {sol2:.6f}°")
print(f" BD = {bd2:.6f}")
print(f" DC = {dc2:.6f}")
print(f" BD / DC = {bd2/dc2:.6f} (厳密値: 5/4)")
print(f" AB = {ab2:.6f} (整数値: 27)")
print("==========================================")
# ==========================================
# 計算結果一覧
# ==========================================
# [解 1]
# θ = 7.681029°
# BD = 14.427585
# DC = 11.542068
# BD / DC = 1.250000 (厳密値: 5/4)
# AB = 3.000000 (整数値: 3)
# ------------------------------------------
# [解 2]
# θ = 63.420247°
# BD = 19.406267
# DC = 15.525014
# BD / DC = 1.250000 (厳密値: 5/4)
# AB = 27.000000 (整数値: 27)
# ==========================================
(本日の)ChatGPT先生へ。作図。
以下の解法2のpng図だけ出力して。
(ver2.2 のソースコードの表示を省略)
B,D,C は同一直線です。BCを水平にして
紆余曲折の末。
(本日の)ChatGPT先生へ。動画。
・チョットきついです。お好みでお願いします。
以下の動画を作って。
(ver2.2 のソースコードの表示を省略)
いつもの? sympyの実行環境 と 参考のおすすめです。
sympyのweb上での実行方法
SymPy Live Shellで。
ソースコードの解説は、私よりGemini先生へのソースコードの丸投げがおすすめです。質問の追加はいくらでも。
モーダル対応?「実行して」。「作図して」「問題文章の丸投げ」いい時代です。
いつもと違うおすすめです。
sympy のdoc
・いらないカモ。
ver0.1
ver1.1
・angle_between(l2) < Line
https://docs.sympy.org/latest/modules/geometry/lines.html#sympy.geometry.line.LinearEntity.angle_between
ver1.2
後記
GeminiはAIであり、不正確な情報を表示することがあります
☝ AIが生成した内容は正確性を確かめよう
Qiitaを利用する際には「HRT」を大切にしよう
