欢迎光临散文网 会员登陆 & 注册

S5Q1 圆内接与圆外切多边形

2022-02-23 23:28 作者:学用数学  | 我要投稿

第五季将推出另一系列的挑战任务,主要是呈现案例,并说明指令。但细部的制作顺序就留给大家去探究。而这次要登场的也是配合 Pi Day 来做一个圆的任务。


背景介绍

当初南北朝的冲冲之(429~500),利用割圆术,计算到正 24576 边形。关于割圆术的递推算法,可参考李永乐的视频:


关于不同时期对圆周率的计算方式推荐视频

从早期阿基米德的96边形得到的3.14 到祖冲之的密率3.14159 与近似分数 355/133 。到16世纪后开始用数列级数来逼近圆周率,例如莱布尼兹的 1-1/3+ 1/5-1/7 ,后来计算机引入后,开始上千位的计算。      

任务说明

这个任务的结构就是用滑动条控制 n = 6,12,24,48,96 的变化,让图形可绘制出圆内接与圆外切多边形。对于多边形的制作主要用 Sequence 来达成。然而点数多到 96 边形时,多边形的效果已看不出来,因此用表格区来观察内外多边形周长的变化。


Part1 正方形的边数与滑动条


说明:利用滑动条 p 来控制边数 n = 3*2^p 的变化。在正 96 边形时,外切周长-内接周长 (6.28543-6.28206)< 0.0037,与圆长的误差  0.0037/(2*3.14159) <0.0053 , 图形上已经看不太出差异。因此,边数显示到 96 边即可。

操作:

p = Slider(1,5,1)

n = 2^p

Part2  内接圆与外切圆区的制作

说明:利用序列取得圆上的等分点的内接正多变形。而对于圆外切的多边形,将半径设定为 sec(pi/n)。

操作:

is = Sequence((1;2*k*pi/n),k,0,n)

os = Sequence((sec(pi/n); (2*k-1)*pi/n), k, 0, n)

sis = Sequence(Segment(is(k),is(k+1)), k, 1, n)

sos = Sequence(Segment(os(k),os(k+1)), k, 1, n)

inLen = sum(sis)

outLen = sum(sos)

Part3 表格区的n边形数值


说明:通过表格区显示正内接与正外切多边形的边长差异。

操作:

B2 = A2*2*sin(pi/A2)

C2 = 2*pi

D2 = A2*2*tan(pi/A2) 

相关链接

【GGB】https://www.geogebra.org/m/ttft42y8

【Bili】https://www.bilibili.com/video/av95843819


S5Q1 圆内接与圆外切多边形的评论 (共 条)

分享到微博请遵守国家法律