请输入立方体的点1：

初始化

以立方体的点1开始：

向右摆放立方体的个数为：

向后摆放立方体的个数为：

向上摆放立方体的个数为：

主视图

左视图

俯视图

复位

制作教程：

u = Vector((1, 0, 0))
v = Vector((0, 1, 0))
w = Vector((0, 0, 1))
l1: {}
A = (0, 0, 0)
InputBox1 = Textfield(A)
l2 = Zip(Cube[P, P + (1, 0, 0), Point[Circle[P + (1, 0, 0), Distance[P, P + (1, 0, 0)], Segment[P, P + (1, 0, 0)]]]], P, l1)
a = 0 (slider from -5 to 5)
b = 0 (slider from -2 to 5)
h = 0 (slider from -2 to 2)
B = (0, 0, 0)
InputBox2 = Textfield(B)
InputBox3 = Textfield(a)
InputBox4 = Textfield(b)
InputBox5 = Textfield(h)
l3 = Sequence(Translate[Cube[B, B + (1, 0, 0), Point[Circle[B + (1, 0, 0), Distance[B, B + (1, 0, 0)], Segment[B, B + (1, 0, 0)]]]], Vector[(k * u)]], k, If[a < 0, a + 1, 0], If[a < 0, 0, a - 1])
l4 = Sequence(Translate[Cube[B, B + (1, 0, 0), Point[Circle[B + (1, 0, 0), Distance[B, B + (1, 0, 0)], Segment[B, B + (1, 0, 0)]]]], Vector[(k * v)]], k, If[b < 0, b, 1], If[b < 0, 0, b])
l5 = Sequence(Translate[Cube[B, B + (1, 0, 0), Point[Circle[B + (1, 0, 0), Distance[B, B + (1, 0, 0)], Segment[B, B + (1, 0, 0)]]]], Vector[(k * w)]], k, If[h < 0, h, 1], If[h < 0, 0, h])
C = (-4.476, -3.164)
D = (-1.2736, -3.164)
E = (-4.276, 1.256)
F = (-1.4736, 1.256)

Tool: 坐标系
x最小、最大，y最小、最大，0.23
Input: m, n, q, p, a
Output: A, B, O, l1, l2, list3, list4, list5, list6, u, v

$\huge\textcolor{}{x}$

$\huge\textcolor{}{y}$

$\Large{O}$

u = Vector((m - 1, 0), (n + 1, 0))
l1 = Sequence(Segment[(k, 0), (k, a)], k, m, n)
A: (n + 1, 0)
list4 = Sequence(Text[k, Element[Sequence[(t - 0.15, 0), t, 1, n], k], true, true], k, 1, n)
list3 = Sequence(Text[k, Element[Sequence[(t - 0.5, 0), t, m, -1], k + abs(m) + 1], true, true], k, m, -1)
l2 = Sequence(Segment[(0, k), (a, k)], k, q, p)
list5 = Sequence(Text[k, Element[Sequence[(-0.9, t + 0.2), t, q, -1], k + abs(q) + 1], true, true], k, q, -1)
v = Vector((0, q - 1), (0, p + 1))
B: (0, p + 1)
list6 = Sequence(Text[k, Element[Sequence[(-0.6, t + 0.2), t, 1, p], k], true, true], k, 1, p)
O: B - (0, p + 1)