$\huge8份$

$\huge 切割、拼接$

$\huge 提示$

$\Large标注$

V=πr^2h

$\Large圆柱的体积$

n = 4 (slider from 4 to 50, step 1)
A: (0, 0)
r = 1 (slider from 0.5 to 3, step 0.01)
C: A + (0, (2 * r))
t = -2 (slider from -2 to 1, step 0.01)
t' = If(t < 0, 0, t)
α = If(t ≟ -2, 45.0001°, t ≥ -1, 89.9999°, (45° * (t + 3)))
B: A + (0, (r * tan(α)))
A' = Rotate(A, ((0.5 * π) * r / Distance[B, A]), B)
A'' = Mirror(A', x = 0)
c = CircleArc(B, A'', A')
l1 = Sequence(Point[c, k], k, 0, 1, 1 / n)
c' = Dilate(c, 1 - 1 / tan(α), B)
l2 = Sequence(Point[c', k], k, 0, 1, 1 / ((2 * n)))
β = If(t ≤ -1, 45.0001°, t ≥ 0, 89.9999°, (45° * (t + 2)))
D: C - (0, (r * tan(β)))
C' = Rotate(C, ((0.5 * π) * r / Distance[D, C]), D)
C'' = Mirror(C', x = 0)
d = CircleArc(D, C'', C')
d' = Dilate(d, 1 - 1 / tan(β), D)
l5 = Sequence(Point[d', k], k, 0, 1, 1 / ((2 * n)))
l5_1 = Translate(l5, Vector[(t' * Vector[l2(2), l1(1)])])
l4 = Sequence(Point[d, k], k, 0, 1, 1 / n)
l4_1 = Translate(l4, Vector[(t' * Vector[l2(2), l1(1)])])
O: A + (0, r)
l3 = Sequence(CircleSector[l2((2 * k)), l1(k), l1(k + 1)], k, 1, n)
l6 = Translate(Sequence[CircleSector[l5((2 * k)), l4(k), l4(k + 1)], k, 1, n], Vector[(t' * Vector[l2(2), l1(1)])])
m = 0 (slider from 0 to 2, step 1)
l3' = Translate(l3, Vector[(0, 0, 3)])
l1' = Translate(l1, Vector[(0, 0, 3)])
l2' = Translate(l2, Vector[(0, 0, 3)])
l7 = Sequence(Polygon[l1(k), l2((2 * k)), l2'((2 * k)), l1'(k)], k, 1, n)
l8 = Sequence(Polygon[l1(k), l2((2 * (k - 1))), l2'((2 * (k - 1))), l1'(k)], k, 2, n + 1)
l6' = Translate(l6, Vector[(0, 0, 3)])
l4' = Translate(l4_1, Vector[(0, 0, 3)])
l5' = Translate(l5_1, Vector[(0, 0, 3)])
l9 = Sequence(Polygon[l4_1(k), l5_1((2 * k)), l5'((2 * k)), l4'(k)], k, 1, n)
l10 = Sequence(Polygon[l4_1(k), l5_1((2 * (k - 1))), l5'((2 * (k - 1))), l4'(k)], k, 2, n + 1)
text4 = Text(" π r", l1(n / 2) + (-0.45, 0, -0.1), true, true)
text5 = Text("r", Midpoint[l1(n), l2((2 * n))] + (0, 0.2, 0), true, true)
text6 = Text("h", Midpoint[l1(n), l1'(n)] + (0, 1.2, 0), true, true)
a = false
b = false

Tool: 简易坐标系
请选择原点，分别输入：x最小、最大值，y最小、最大值
Input: A, a, b, c, d
Output: B, C, O, u, v

$\huge\textcolor{}{x}$

$\huge\textcolor{}{y}$

$\Large\textcolor{}{O}$

A: (0, 0)
u = Vector(A + (a - 1, 0), A + (b + 1, 0))
v = Vector(A + (0, c - 1), A + (0, d + 1))
B: A + (b + 1, 0)
C: A + (0, d + 1)
O: A