Making a Rectangular Prism by Scaling a Cube
Author: Susan Addington

Use the sliders a, b, c to make a rectangular prism from a small cube.

Check "Show part 2" to get more sliders, to scale the prism you made.

Zoom out if your prism won't fit on the screen.

"Scaling" usually means stretching or shrinking the by same factor in all directions.
This applet shows 1-dimensional scaling; each slider stretches by its own scale factor in one direction.

Here are some things to make, and questions.

Make some base 10 blocks: small cube, long piece, flat piece, and big cube. (Place values 1, 10, 100, and 1000). Now check Show part 2, and set d, then e, then f, to 10. What place values do these pieces represent?

How can you find the length, width, and height of the prism from the values of the sliders? How can you find its volume?

Show part 2

bloques de largo

bloques de ancho

bloques de alto

Este prisma tiene:

A: (sqrt(3) / 4, 0.25)
B: (sqrt(3) / 4, -0.25)
C = (0.8660254037844386, -0.5)
D: (0.86603, 0)
E: (0.86603, 0.5)
F: ((3 * sqrt(3) / 4), 0.25)
G: ((3 * sqrt(3) / 4), -0.25)
a = 1 (slider from 1 to 10, step 1)
E'_1 = Dilate(E, a, A)
F'_1 = Dilate(F, a, D)
G'_1 = Dilate(G, a, C)
b = 1 (slider from 1 to 10, step 1)
c = 1 (slider from 1 to 10, step 1)
A'_1 = Dilate(A, b, D)
E''_1 = Dilate(E'_1, b, F'_1)
B'_1 = Dilate(B, b, C)
F''_1 = Dilate(F'_1, c, G'_1)
D'_1 = Dilate(D, a, B)
E'' = Dilate(E'_1, c, D'_1)
E''' = Dilate(E'', b, F''_1)
A''_1 = Dilate(A'_1, c, B'_1)
D'_2 = Dilate(D, c, C)
poly1, c_2, g', f'', d' = Polygon(C, G'_1, F''_1, D'_2)
poly2, c_1, d'_1, a'', b' = Polygon(C, D'_2, A''_1, B'_1)
poly3, a''_1, d'_2, f''_1, e''' = Polygon(A''_1, D'_2, F''_1, E''')
poly4, b_1, a_1, d_3, c_3 = Polygon(B, A, D, C)
poly5, c_4, d_1, f_2, g_1 = Polygon(C, D, F, G)
poly6, d_2, f_1, e_1, a_2 = Polygon(D, F, E, A)
u = Vector(C, D)
list1 = Sequence(Segment[Translate[C, Vector[(j * u)]], Translate[G'_1, Vector[(j * u)]]], j, 1, c - 1)
list2 = Sequence(Segment[Translate[B'_1, Vector[(j * u)]], Translate[C, Vector[(j * u)]]], j, 1, c - 1)
v = Vector(C, G)
w = Vector(C, B)
list3 = Sequence(Segment[Translate[C, Vector[(j * v)]], Translate[D'_2, Vector[(j * v)]]], j, 1, a - 1)
list4 = Sequence(Segment[Translate[C, Vector[(j * w)]], Translate[D'_2, Vector[(j * w)]]], j, 1, b - 1)
list5 = Sequence(Segment[Translate[F''_1, Vector[(j * w)]], Translate[D'_2, Vector[(j * w)]]], j, 1, b - 1)
list6 = Sequence(Segment[Translate[D'_2, Vector[(j * v)]], Translate[A''_1, Vector[(j * v)]]], j, 1, a - 1)
d = 1 (slider from 1 to 12, step 1)
e = 1 (slider from 1 to 12, step 1)
f = 1 (slider from 1 to 12, step 1)
G' = Dilate(G, (a * d), C)
F' = Dilate(F, (a * d), D)
F'' = Dilate(F', (c * f), G')
D' = Dilate(D, (c * f), C)
B' = Dilate(B, (b * e), C)
A' = Dilate(A, (b * e), D)
A'' = Dilate(A', (c * f), B')
z = Vector(D', F'')
A''' = Translate(A'', z)
poly7, d'_3, c_5, g'_1, f_4 = Polygon(D', C, G', F'')
poly8, d_6, c_6, b'_1, a_4 = Polygon(D', C, B', A'')
poly9, a''_3, d'_5, f''_3, a''' = Polygon(A'', D', F'', A''')
h = false
list7 = Sequence(Segment[Translate[C, Vector[((j * c) * u)]], Translate[G', Vector[((j * c) * u)]]], j, 1, f)
list8 = Sequence(Segment[Translate[C, Vector[((j * c) * u)]], Translate[B', Vector[((j * c) * u)]]], j, 1, f)
list9 = Sequence(Segment[Translate[D', Vector[((j * a) * v)]], Translate[C, Vector[((j * a) * v)]]], j, 1, d)
list10 = Sequence(Segment[Translate[D', Vector[((j * b) * w)]], Translate[C, Vector[((j * b) * w)]]], j, 1, e)
list11 = Sequence(Segment[Translate[A'', Vector[((j * a) * v)]], Translate[D', Vector[((j * a) * v)]]], j, 1, d)
list12 = Sequence(Segment[Translate[F'', Vector[((j * b) * w)]], Translate[D', Vector[((j * b) * w)]]], j, 1, e)
g: sqrt(3) / 4
i: (3 * sqrt(3) / 4)