找回密码
 欢迎注册
查看: 12523|回复: 5

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

[复制链接]
发表于 2021-8-27 11:48:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

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

另附:後来有人算往內接的情況,結果是1/8.7。同樣想知道求解方法。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2021-8-27 15:17:10 | 显示全部楼层
计算结果
QQ图片20210827145354.jpg
QQ图片20210827145338.jpg
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
回复

使用道具 举报

发表于 2021-8-27 18:18:22 | 显示全部楼层
绘图表示过程

HUITU

HUITU
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 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))
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2021-8-27 18:22:51 | 显示全部楼层

非常美妙,請問是不是用mathemetica做的?

点评

pyrhon  发表于 2021-8-27 18:26
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-25 04:30 , Processed in 0.047534 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表