今回はMathematicaで図形問題を解きます。
今日使用するMathematicaの関数
Triangle Area Line
EuclideanDistance RandomInstance GeometricScene
今日の問題はこちらです。
(出典)平成29年度灘中学校入試問題 第1日 大問9
重要なのは、どうやって図形の情報をコード化するかですね。
※記号の大文字と小文字は区別していません。
1.三角形ABC
Triangle[{a,b,c}]
(訳)三角形ABCがあります
この三角形は設問にあるように、最終的には面積を比較する対象になっています。そのため、面積を1と仮定します。
Area[Triangle[{a, b, c}]] == 1
(訳)三角形ABCの面積は1
2.その他の三角形
三角形は他に、a,c,fとa,d,gとa,g,eとa,b,fがあります。
{Triangle[{a, c, f}]}, {Triangle[{a, d, g}]},{Triangle[{a, g, e}]},{Triangle[{a, b, f}]}
(訳)三角形ACF,三角形ADG,三角形AGE,三角形ABFが存在します。
3.直線
直線を考えます。
辺FB上に点Cがあります。これは、点F,点B,点Cが一直線上に存在すると言うことになります。
Line[{f,b,c}]
(訳)点F,点B,点Cが一直線に並んでいます。
4.問題の条件
(ACの長さ):(ADの長さ)=1:1
(ABの長さ):(BEの長さ)=1:2
(BCの長さ):(CFの長さ)=1:3
以上それぞれをコードにします。
EuclideanDistance[a, c] == EuclideanDistance[d, a]
(訳)辺ACの長さと辺DAの長さは等しい。
EuclideanDistance[a, b]*2 == EuclideanDistance[b, e]
(訳)辺ABの長さの2倍と辺BEの長さは等しい。
EuclideanDistance[b, c]*3 == EuclideanDistance[c, f]}
(訳)辺BCの長さの3倍と辺CFの長さは等しい。
問題
この問題は三角形ADGの面積を求める問題です。
Area[Triangle[{a, d, g}]] /. %[“Points”]
(訳)三角形ADGの面積
完成
以上それぞれのコードをくっつけると完成です。
RandomInstance[GeometricScene[{a, b, c, d, e, f, g}, {Triangle[{a, b, c}],
Area[Triangle[{a, b, c}]] == 1, {Triangle[{a, c, f}]}, {Triangle[{a, d, g}]}, Line[{d, a, c}], Line[{f, a, g}], Line[{a, b, e}], Line[{f, c, b}], Line[{d, g, e}], {Triangle[{a, g, e}]}, {Triangle[{a, b, f}]}, EuclideanDistance[a, c] == EuclideanDistance[d, a], EuclideanDistance[a, b]*2 == EuclideanDistance[b, e], EuclideanDistance[b, c]*3 == EuclideanDistance[c, f]}]]
Area[Triangle[{a, d, g}]] /. %[“Points”]
よって、答えは0.6になります。
コメント