前回は 平成31年の数1Aにある第四問 を解きました。その続きになります。
今回は 平成31年の数1Aの第二問 です。図形の問題です。なかなか数式に押し込むのが難しかったです。
では、さっそく行ってみましょう!!
準備
ぼくがセンター試験を解くに当たり準備したものは
- センター試験過去問(平成31年版)
- jupyternotebook
の二つです。
jupyternotebookの導入や使い方についてはこちらを参照ください。
センター試験を解いてみよう
解く問題
△ABCにおいて、AB=3、BC=4、AC=2とする。\(\cos \angle BAC = \frac{[アイ]}{[ウ]}\)であり、\(\angle BACは[エ]\)である。また、\(\sin \angle BAC = \frac{\sqrt{[オカ]}}{[キ]}\)
線分ACの垂直二等分線と直線ABの交点をDとする。\(\cos \angle CAD =\frac{[ク]}{[ケ]}\)であるから、AD = [コ] であり、△DBCの面積は\(\frac{[サ]\sqrt{[シス]}}{[セ]}\)である。
平成31年の数1Aの第二問
行列に落とし込む
図形問題は行列に落とし込みます。
行列を書くときはMatrixを使います。
\(\angle BAC = x\)とし、A(0.0)とすると、B(3.0)、C(\(2\cos x\).\(2\sin x\))となります。よって、
import sympy as sy from sympy import symbols,Matrix x = symbols("x",real = True) A = sy.Matrix([0,0]) B = sy.Matrix([3,0]) C = 2*sy.Matrix([sy.cos(x),sy.sin(x)])
つぎに、BC=4なので\(|\vec{C} – \vec{B}| = 4\)となり、\(\vec{C} – \vec{B}\)の長さはnormを使っていきます。
そしてこの方程式を解かせます。
y = sy.solve((C-B).norm() - 4,x)[1]
このとき、解は2つ出てくるので[1]だけとっています。
ここから、\(\cos \angle BAC \)が求まります。
print(trigsimp(sy.cos(y)))
出力は
-1/4つまり、 \(\cos \angle BAC = \frac{[-1]}{[4]}\) 、\(\angle BACは[鈍角]\)です。
\(\cos \angle BAC\)が求まったので、
print(trigsimp(sy.sin(y)))より、出力は
sqrt(15)/4\(\sin \angle BAC\) は\(\frac{\sqrt{15}}{4}になります。\)
よって \(\sin \angle BAC = \frac{\sqrt{[15]}}{[4]}\)
ここでtrigsimp を使いましたが、これは三角関数を簡単化できるもので、これをつかわないと例えば、
print(sy.cos(y))の出力が
cos(2*atan(sqrt(15)/3))となってしまって、どんな数なのかわからなくなってしまいます。
淡々と計算する
淡々と計算していきます。
\(\angle CAD\)は\(\pi – \angle BAC\)なので、
z = sy.pi - yであり、
print(trigsimp(sy.cos(z)))の出力は
1/4です。よって、\(\cos \angle CAD =\frac{[1]}{[4]}\)です。
ADの長さはACの長さの半分をcos(z)で割ったものなので、
AC = (C-A).norm() print(AC/2) AD = (AC/2)/trigsimp(sy.cos(z)) print(AD)
で出力は
4.00000000000000です。 よってAD = [4]
△DBCの面積はBDの長さとCのy座標(高さ)をかけて2で割ればよいので、
BD = AD + AB BDC = C[1]*BD*(1/2) print(BDC)
出力は
1.75*sqrt(15)なので、 △DBCの面積は\(\frac{[7]\sqrt{[15]}}{[4]}\) となります。
ここまでのコード
import sympy as sy from sympy import symbols,Matrix from sympy import trigsimp x = symbols("x",real = True) A = sy.Matrix([0,0]) B = sy.Matrix([3,0]) C = 2*sy.Matrix([sy.cos(x),sy.sin(x)]) y = sy.solve((C-B).norm() - 4,x)[1] print(trigsimp(sy.cos(y))) print(trigsimp(sy.sin(y))) C = 2*sy.Matrix([-1/4,sy.sqrt(15)/4]) z = sy.pi - y print(trigsimp(sy.cos(z))) AC = (C-A).norm() print(AC/2) AD = (AC/2)/trigsimp(sy.cos(z)) print(AD) AB = (B-A).norm() BD = AD + AB BDC = C[1]*BD*(1/2) print(BDC)