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?

大人向け。直角三角形の中に正方形が2つ「【数学練習】115」様を、sympy で計算と作図。

0
Last updated at Posted at 2026-11-10

・ver1.1 普通?にです。
・ver1.2 Gemini先生に教えてもらいました。

オリジナル

算数・数学ちゃんねる 様 (0:00〜4:02) いつもお世話になっております。
↓【数学練習】115
https://youtu.be/NX7Uu-ApWSU

いつものsympyで(オリジナル Youtbe様の方法を参考に)

ver0.1

・先生の丸写しです。ステキです。ソースコード内で、図形の証明は省略です。
・補助線の追加が無しでした。

# ver0.1
from sympy import *
var('T,S',real=True,positive=True)
T=solve(Eq(T  +Rational(3,4)*T,3),T)[0]   #;print(T)
S=solve(Eq(T+S+Rational(4,3)*S,4),S)[0]   #;print(S)
print("#",S**2)
# 2304/2401

sympyで

ver1.1

・(再) ver1.1 普通?にです。
・いつもの一筆書きです。B→D→E→F。45度と直下がりの連続です。

...SymPy の Line オブジェクトに slope を指定する場合、角度(ラジアン)ではなく「傾きの数値(yの増加量 /xの増加量)」を直接渡す必要があります。...

# ver1.1
from sympy import *
AB,BC=3,4
A,B,C=map(Point,[(0,AB),(0,0),(BC,0)])
D    =Line(B,slope=1).intersection(Line(C,A))[0]  #;print(D)
E    =Point(D.x,0)
F    =Line(E,slope=1).intersection(Line(C,A))[0]  #;print(F)
print("#",F.y**2)
# 2304/2401

ver1.2

・(再) ver1.2 Gemini先生に教えてもらいました。
・2回実行する。get_inscribed_square_coords。

# ver1.2
# 左下直角の直角三角形に内接する正方形の頂点座標をSymPyのPointオブジェクトで返す関数
import sympy as sp


def get_inscribed_square_coords(a, b):
  """左下直角の直角三角形(直角=(0,0), 底辺=(a,0), 高さ=(0,b))に

  内接する正方形の4つの頂点座標をSymPyのPointオブジェクトとして返します。
  """
  # 正方形の一辺の長さを変数 s とする
  s = sp.symbols("s", positive=True, real=True)

  # 斜辺の方程式 (bx + ay = ab) 上に正方形の右上頂点 (s, s) が乗る条件式
  eq = sp.Eq(b * s + a * s, a * b)

  # 方程式を解く
  sol = sp.solve(eq, s)
  if not sol:
    return []

  side_length = sol[0]

  # 4つの頂点座標をPointオブジェクトで返す (左下, 右下, 右上, 左上)
  coords = [
      sp.Point(0, 0),
      sp.Point(side_length, 0),
      sp.Point(side_length, side_length),
      sp.Point(0, side_length),
  ]
  return coords


# --- 実行と計算結果の確認 ---
if __name__ == "__main__":
  AB,BC=3,4
  sq1  =get_inscribed_square_coords(BC         ,AB      )    # ;print("#",sq1[2])
  sq2 = get_inscribed_square_coords(BC-sq1[2].x,sq1[2].y)
  print("#",(sq2[2].y)**2)
# 2304/2401

(本日の)Gemini 先生へ。作図。

PNG図 のみ出力して下さい。各辺の長さ、面積を厳密値で追加表示して下さい。
(ver1.1 ソースコード表示省略)

image.png

PNG図 のみ出力して下さい。各辺の長さ、面積を厳密値で追加表示して下さい。
(ver1.2 ソースコード表示省略)

image.png

いつもの? sympyの実行環境 と 参考のおすすめです。

sympyのweb上での実行方法

(SymPy Live Shellで。よりも)
ソースコードの実行、解説は、私よりGemini先生へのソースコードの丸投げがおすすめです。質問の追加はいくらでも。「教えて」
モーダル対応?「実行して」。「作図して」「問題文章の丸投げ」いい時代です。
AI先生に、今はテキスト渡しです。urlを渡して、「教えて」の時代が来ているカモ。音声で

(テンプレート)

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

sympy のdoc

・いらないカモ。

ver0.1

ver1.1

ver1.2

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?