福島県田村郡田母神村(現・郡山市田村町)の馬頭観世音
キーワード:円3個,外円
#Julia #SymPy #算額 #和算 #数学
今有如図大円, 内設弦, 容乾坤二円, 欲使黒積至多。
乾円径若干, 問得坤円径術如何。
外円の中に,乾円,坤円が入っている。黒い部分の面積が最大になるとき,坤円の径を乾円の径で表わせ。

90度回転させて,上半分を考える。外円の半径を 1 とし,2円の接点の x 座標を a とする。

include("julia-source.txt"); # julia-source.txt ソース
using SymPy
@syms x::real, a::positive;
乾円方程式 = sqrt(1 - x^2)
乾円面積 = integrate(乾円方程式, (x, -1, a))
坤円面積 = ( (a + 1)/2)^2*PI/2
黒面積 = 乾円面積 - 坤円面積
f = diff(黒面積, a) # 導関数
plot(f, aspectratio=:none, size=(400, 200))
hline!([0])
vline!([(16 - pi^2)/(pi^2 + 16)])

a0 = solve(f)[1] # 導関数 = 0 を解く
a0 |> println
(16 - pi^2)/(pi^2 + 16)
乾円径 = 1 + a0
坤円径 = 1 - a0
坤円径 / 乾円径 |> simplify |> println
pi^2/16
描画関数プログラムのソースを見る
function draw(more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
a = (16 - pi^2)/(16 + pi^2)
θ0 = acos(a)/pi*180
θ = θ0:0.1:360-θ0
x = cosd.(θ)
y = sind.(θ)
append!(x, a)
append!(y, 0)
plot()
# segment(a, sqrt(1-a^2), a, -sqrt(1-a^2))
if more
polygon(y, -x, :black)
circle(0, 0, 1, :black)
circle(0, -(a-1)/2, (a+1)/2, :white, fill=true)
circle(0, -(a+1)/2, (1-a)/2, :red)
point(0, -(a-1)/2, "乾円", :blue, :center, mark=false)
point(0, -(a+1)/2, "坤円", :red, :center, mark=false)
else
polygon(x, y, :black)
circle(0, 0, 1, :black)
circle( (a-1)/2, 0, (a+1)/2, :white, fill=true)
circle( (a+1)/2, 0, (1-a)/2, :red)
point(a, 0, "a", :black)
plot!(ylims=(0, 1.05))
end
end;
以下のアイコンをクリックして応援してください