另外,为了在未完成拼接时,都不显示提示滑动条——在滑动条t的更新时脚本写上:
如果(t<1,赋值(m,0))
注:如果(If)、赋值(SetValue)。
为方便复制、粘贴,贴上文字版的指令:
① “圆周掰开”
t = 滑动条(-2, 1, 0.01)
α = 如果(t == -2, 45.0001°, t ≥ -1, 89.9999°, 45° (t 3))
A = (0, 0)
r = 1
B = A (0, r tan(α))
A' = 旋转(A, 0.5 π r / 距离(B, A), B)
A'' = 旋转(A, -0.5 π r / 距离(B, A), B)
c = 圆弧(B, A'', A')
β = 如果(t ≤ -1, 45.0001°, t ≥ 0, 89.9999°, 45° (t 2))
C = A (0, 2r)
D = C - (0, r tan(β))
C' = 旋转(C, 0.5π r / 距离(D, C), D)
C'' = 旋转(C, -0.5 π r / 距离(D, C), D)
d = 圆弧(D, C'', C')
注:滑动条(Slider)、旋转(Rotate)、距离(Distance)、圆弧(CircularArc)。
② “构造扇形”
n = 滑动条(4, 40, 2)
l1 = 序列(描点(c, k), k, 0, 1, 1 / n)
c' = 位似(c, 1 - 1 / tan(α), B)
l2 = 序列(描点(c', k), k, 0, 1, 1 / (2n))
l3 = 序列(圆扇形(l2(2k), l1(k), l1(k 1)), k, 1, n)
l4 = 序列(描点(d, k), k, 0, 1, 1 / n)
d' = 位似(d, 1 - 1 / tan(β), D)
l5 = 序列(描点(d', k), k, 0, 1, 1 / (2n))
l6 = 序列(圆扇形(l5(2k), l4(k), l4(k 1)), k, 1, n)
注:序列(Sequence)、描点(Point)、位似(Dilate)、圆扇形(CircularSector)。
③ “平移扇形”
l6' = 平移(l6, 向量(t 向量(l2(2), l1(1))))
文本与美化
设置标题(n, "$\huge %v份$")
设置标题(t, "$\huge 切割、拼接$")
m = 滑动条(0, 2, 1)
设置标题(m, "$\huge 提示$")
text1 = "r"
text2 = " π \,r"
text3 = "S= π \,r^2"
text4 = "\bgcolor{#FFC0CB}{\ 圆的面积\ }"
注:赋值(SetValue)、设置标题(SetCaption)。
如需源文件,请转发本文,并写上:圆面积公式。