算額(その978)
一七 大里郡岡部村岡 稲荷社 文化13年(1816)
埼玉県立図書館:埼玉県史料集 第二集『埼玉の算額』,昭和44年,誠美堂印刷所,埼玉県与野市.
横倒しされた台形で,斜辺の一部を共用する正方形が入っている。本来の台形の高さ(股),上底(小頭)がそれぞれ 2 寸,1 寸のとき,下底(大頭)を求めよ。
注:下図は,小頭,股が 1.5 寸,2 寸の場合である。
正方形の一辺の長さを a
正方形の一辺と台形の二辺の一部できる 3 個の直角三角形は相似である。その短い方の辺の長さを b
大頭,小頭,股をそのまま変数名として使う。
include("julia-source.txt");
using SymPy
@syms a::positive, b::positive, θ::positive,
大頭::positive, 小頭::positive, 股::positive
eq1 = (股 - b)/a - 小頭/a
eq2 = a/(大頭 - b) - 小頭/a
eq3 = (小頭^2 + b^2) - a^2
res = solve([eq1, eq2, eq3], (大頭, a, b))[1]
(小頭 - 股 + 股^2/小頭, sqrt(2*小頭^2 - 2*小頭*股 + 股^2), -小頭 + 股)
大頭は「小頭 - 股 + 股^2/小頭」で計算できる。
小頭が 1 寸,股が 2 寸のとき,大頭は 3 寸である。
小頭 = 1
股 = 2
小頭 - 股 + 股^2/小頭
3.0
function draw(more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
(股, 小頭) = (2, 1.5)
(大頭, a, b) = (小頭 - 股 + 股^2/小頭, sqrt(2*小頭^2 - 2*小頭*股 + 股^2), -小頭 + 股)
str = @sprintf("小頭 = %g; 股 = %g; 大頭 = %g\n正方形の一辺の長さ = %g; b = %g", 小頭, 股, 大頭, a, b)
θ = acos(小頭/a)
plot([0, 小頭 + b, 小頭 + b, 0, 0], [0, 0, 小頭, 大頭, 0], color=:blue, lw=0.5)
segment(0, b, 小頭, 0, :red)
segment(小頭, 0, 小頭 + b, 小頭, :red)
segment(0, b, a*cos(pi/2 - θ), b + a*sin(pi/2 - θ), :red)
if more
delta = (fontheight = (ylims()[2]- ylims()[1]) / 500 * 10 * 2) /3 # size[2] * fontsize * 2
hline!([0], color=:gray80, lw=0.5)
vline!([0], color=:gray80, lw=0.5)
point(股, 小頭, "(股,小頭) ", :blue, :right)
point(0, 大頭, " 大頭", :blue, :left, :bottom)
point(0, b, " b", :red, :left, :bottom)
point(股 - b, 0, " 股-b", :red, :left, :bottom, delta=delta/2)
point(股, 0, " 股", :blue, :left, :bottom, delta=delta/2)
point(股/2, 大頭/2, str, :black, :center, :vcenter, mark=false)
end
end;
※コメント投稿者のブログIDはブログ作成者のみに通知されます