・正確に作図しました。点Pを点Eと表示していません。
・???ページの最後に、不思議な類題があります。
??? 高校入試 直線5 6 13の離れの問題
オリジナル
・名古屋大学の問題文はテキストのみ
名大文系 1963前期 3(理系前期2と同じ)
< 名古屋大学 数学入試問題過去問 64年分(現在前期のみ)様
http://server-test.net/math/php.php?name=05_nagoya&v1=0&v2=1963&v3=1&v4=3&y=1963&n=2
・YouTube
YUUU0123 様 (0:00〜:7:44)
中学生にもわかる名古屋大学入試問題
・大学入試数学問題集成 様>未登録
1989年度より登録
https://mathexamtest.web.fc2.com/daigakubetumj/10481index.html#y1997
ChatGPT-3.5先生へ
正方形 ABCD とその内部の 1 点 P がある。線分 AP,BP,CP の長さがそれぞれ 7,5,1 であるとき,この正方形の面積を求めよ。
ChatGPT (以下抜粋)
User
sympyで
import sympy as sp
# シンボルの定義
x, y, a = sp.symbols('x y a')
# 方程式の定義
eq1 = sp.Eq(x**2 + y**2, 49) # AP = 7
eq2 = sp.Eq((x - a)**2 + y**2, 25) # BP = 5
eq3 = sp.Eq((x - a)**2 + (y - a)**2, 1) # CP = 1
# 方程式を解く
solutions = sp.solve([eq1, eq2, eq3], (x, y, a))
# 解の表示
solutions
User
sympyの円の交点計算で
ChatGPT
import sympy as sp
# シンボルの定義
x, y, a = sp.symbols('x y a')
# 円の方程式の定義
circle1 = sp.Eq(x**2 + y**2, 49) # AP = 7
circle2 = sp.Eq((x - a)**2 + y**2, 25) # BP = 5
circle3 = sp.Eq((x - a)**2 + (y - a)**2, 1) # CP = 1
# 円の交点を求める
intersection_points = sp.solve([circle1, circle2, circle3], (x, y, a))
# 解の表示
intersection_points
では、実際にPythonで実行してみましょう。
間違っていませんか
ChatGPT
確認ありがとうございます。解答を見直しましょう。
sympyで
ver0.1 距離で連立方程式。
・ChatGPTと同じ
The Euclidean distance between self and another GeometricEntity.
https://docs.sympy.org/latest/modules/geometry/points.html#sympy.geometry.point.Point.distance
# ver0.1 距離で連立方程式。
from sympy import *
var('d,Px,Py',real=True,poitive=True)
A,B,C,P=map(Point,[(0,d),(0,0),(d,0),(Px,Py)])
sol=solve([Eq(P.distance(A),7),
Eq(P.distance(B),5),
Eq(P.distance(C),1)
],[d,Px,Py])
print("#",sol)
print("#",sol[3])
print("#",sol[3][0])
print("#",sol[3][0]**2)
# [(-4*sqrt(2), -7*sqrt(2)/2, -sqrt(2)/2), (-3*sqrt(2), -7*sqrt(2)/2, sqrt(2)/2), (3*sqrt(2), 7*sqrt(2)/2, -sqrt(2)/2), (4*sqrt(2), 7*sqrt(2)/2, sqrt(2)/2)]
# (4*sqrt(2), 7*sqrt(2)/2, sqrt(2)/2)
# 4*sqrt(2)
# 32
ver0.2 できませんでした。???これは調子にのりすぎ。終了しません。
・変数で計算。
# ver0.2 できませんでした。変数で計算。???これは調子にのりすぎ。終了しません。
from sympy import *
var('d,Px,Py' ,real=True,poitive=True)
var('PA,PB,PC',real=True,poitive=True)
A,B,C,P=map(Point,[(0,d),(0,0),(d,0),(Px,Py)])
sol=solve([Eq(P.distance(A),PA),
Eq(P.distance(B),PB),
Eq(P.distance(C),PC)
],[d,Px,Py])
print("#",sol)
print("#",sol[3])
print("#",sol[3][0])
ver0.3 円と円の交点計算。
# ver0.3 円と円の交点計算。
from sympy import *
var('d',real=True,poitive=True)
A,B,C=map(Point,[(0,d),(0,0),(d,0)])
P1 =Circle(A,7).intersection(Circle(B,5))[1]
P2 =Circle(B,5).intersection(Circle(C,1))[1]
sol=solve([Eq(P1.x,P2.x),Eq(P1.y,P2.y)],[d])
print("#",sol)
print("#",sol[1][0])
print("#",sol[1][0]**2)
print()
rep={d:sol[1][0]}
A=A .subs(rep)
B=B .subs(rep)
C=C .subs(rep)
D=Point(d,d).subs(rep)
P=P1 .subs(rep)
print("#", P.distance(A) .simplify())
print("#", P.distance(B) .simplify())
print("#",sqrtdenest(P.distance(C)).simplify())
# [(-4*sqrt(2),), (4*sqrt(2),)]
# 4*sqrt(2)
# 32
# 7
# 5
# 1
FreeCADのマクロで作図
・計算部分は、Ver.0.1 の コピー貼り付けです。
import FreeCAD
import Part
import DraftTools
import Draft
import Mesh
############################################################################
# 名古屋大学
# ver0.1 距離で連立方程式。
from sympy import *
var('d,Px,Py',real=True,poitive=True)
A,B,C,P=map(Point,[(0,d),(0,0),(d,0),(Px,Py)])
sol=solve([Eq(P.distance(A),7),
Eq(P.distance(B),5),
Eq(P.distance(C),1)
],[d,Px,Py])
print("#",sol)
print("#",sol[3])
print("#",sol[3][0])
print("#",sol[3][0]**2)
############################################################################
rep={d:sol[3][0],Px:sol[3][1],Py:sol[3][2]}
A=A .subs(rep)
B=B .subs(rep)
C=C .subs(rep)
D=Point(d,d).subs(rep)
P=P .subs(rep)
############################################################################
# 3D作図 z=0 XY平面に作図しました。
############################################################################
def myXYZ2Txt_2D(A):
return '(' + str(A.x) + ',' + str(A.y) + ')'
#return ""
def myTxtXYZ_2D(A,myWedgei):
P5x=float(A.x)
P5y=float(A.y)
P5z=0.0
p5 = FreeCAD.Vector(P5x, P5y, P5z)
myText = Draft.makeText(myWedgei, p5)
myText.Label = myWedgei
FreeCADGui.ActiveDocument.ActiveObject.FontSize = '0.5 mm'
# FreeCADGui.ActiveDocument.ActiveObject.FontSize = '1.0 mm'
return
def myTxtXYZ_S_2D(*xy_tx):
for i in range(1,int(len(xy_tx)/2)+1):
myTxtXYZ_2D(xy_tx[2*i-2],xy_tx[2*i-1]+myXYZ2Txt_2D(xy_tx[2*i-2]) )
return
def myLine_2D(A,B):
Ax,Ay,Az=float(A.x),float(A.y),0.0
Bx,By,Bz=float(B.x),float(B.y),0.0
pl = FreeCAD.Placement()
pl.Rotation.Q = (0.4247081540122249, 0.17592004639554645, 0.33985110062924484, 0.8204732460821097)
pl.Base = FreeCAD.Vector(-3.9166066876399563, -2.1670824762243774, 1.7495260956243028)
points = [FreeCAD.Vector(Ax,Ay,Az), FreeCAD.Vector(Bx,By,Bz)]
line = Draft.make_wire(points, placement=pl, closed=False, face=True, support=None)
Draft.autogroup(line)
return
def myLine_S_2D(*args):
for i in range(1,len(args)):
myLine_2D(args[i-1],args[i])
return
def myLine_C_2D(*args):
for i in range(1,len(args)):
myLine_2D(args[i-1],args[i])
myLine_2D(args[i],args[0])
return
def myLine_H_2D(*args):
for i in range(1,len(args)):
myLine_2D(args[0],args[i])
return
##################################################################################
myLine_C_2D (A,B,C,D)
myLine_S_2D (A,P,C)
myLine_S_2D (B,P)
myTxtXYZ_S_2D(A,"A",B,"B",C,"C",D,"D")
myTxtXYZ_S_2D(P,"P")
####################################################################################
doc = App.activeDocument()
#App.ActiveDocument.addObject("App::Origin", "Origin")
#App.ActiveDocumen!t.getObject('Origin').Visibility = True
App.ActiveDocument.recompute()
Gui.activeDocument().activeView().viewAxonometric()
Gui.SendMsgToActiveView("ViewFit")
拡大図(CADの操作で寸法線を追加)
・(青色の)角度寸法は、ニセモノです。Part>計測>角度計算 です。
・角度寸法の表示は、まだ勉強中です。
sympyで(オリジナル 様の方法を参考に)
>実は、これは一直線になります。
・補助線(鉛直線・水平線)を追加。
from sympy import *
var('p,q,r,s,x',real=True,poitive=True)
eq1A=Eq(p**2+r**2,7**2)
eq1B=Eq(q**2+r**2,x**2)
eq2A=Eq(p**2+s**2,5**2)
eq2B=Eq(q**2+s**2,1**2)
eq1 =Eq(eq1A.lhs-eq1B.lhs,eq1A.rhs-eq1B.rhs) ;print("#",eq1)
eq2 =Eq(eq2A.lhs-eq2B.lhs,eq2A.rhs-eq2B.rhs) ;print("#",eq2)
sol =solve(Eq(eq1.lhs-eq2.lhs,eq1.rhs-eq2.rhs),x)[1] ;print("#",sol)
print("#",8*8*Rational(1,2))
# Eq(p**2 - q**2, 49 - x**2)
# Eq(p**2 - q**2, 24)
# 5
# 32
参考
いつもの? sympyの実行環境と 参考のおすすめです。
・以下ができたら、助かります。指定と全部です
いつもと違うおすすめです。
・PASSLABO 様
伝説の入試数学 図形問題【超シンプルなのに難問】
>図形の問題のポイント
>図形の世界の標準は三角形
・多数
>名大数学 正方形751の面積の問題
教えて下さい。??? 高校入試 直線5 6 13の離れの問題???
アドバイスいただけると幸いです。
・直線が90度折れているところを、折らない。直線???
私は説明できません。 本問題と同じに見えます。
・今さらですけど、私は内部を考慮していませんでした。
BP=s*BC+t*BA (0<s,t<1)で定義しないとだめでした。