ejsoon 发表于 2021-8-27 11:48:48

單位圓外切正n邊形,再外接圓,n從三遞增

最後算得最大的圓的半徑接近8.7,請問這個是怎麼算出来的,能否用數學軟件算出来?

另附:後来有人算往內接的情況,結果是1/8.7。同樣想知道求解方法。

markfang2050 发表于 2021-8-27 15:17:10

计算结果

markfang2050 发表于 2021-8-27 18:18:22

绘图表示过程

markfang2050 发表于 2021-8-27 18:22:46

"""
从单位圆开始,画出最外层圆外切正多边形,及多边形外接圆,正多边形边数从3依次递增
"""
import numpy as np
import matplotlib.pyplot as plt
import time

start_time = time.time()

fig,ax = plt.subplots()
t= np.linspace(0,np.pi*2)
r = 1
# 画出单位圆
ax.plot(r*np.cos(t),r*np.sin(t),'r')
ang = 0
#边数从3递增到100
for i in range(3,100):
    #半径按外切多边形半径公式递推
    r = r/np.cos(np.pi/i)
    # p为正多边形顶点,每次旋转一个角度用来美化
    p = np.linspace(0,np.pi*2,i+1)+ang
    ang += np.pi/(i+1)
    #画出多边形及多边形的外接圆
    ax.plot(r*np.cos(p),r*np.sin(p),'b')
    ax.plot(r*np.cos(t),r*np.sin(t),'r')
print("最外层圆半径为%s"%r)

print("python计算用时:%s"%(time.time()-start_time))

ejsoon 发表于 2021-8-27 18:22:51

markfang2050 发表于 2021-8-27 18:18
绘图表示过程

非常美妙,請問是不是用mathemetica做的?
页: [1]
查看完整版本: 單位圓外切正n邊形,再外接圓,n從三遞增