Composing Prisms by Stacking Cubes

Composing Prisms by Stacking Cubes
Loading the math board and drawing, please wait…
2022-11-10 03:56
This activity demonstrates how to build a 3D prism by stacking cubes. The key mathematical concepts involve volume calculation and modeling solid figures. Construction uses GeoGebra commands such as RandomUniform, Take, Flatten, Corner, and CornerThreeD. Suitable for students in grades 4-5 to explore solid geometry and volume concepts.

GeoGebra Commands & Parameters

  1. RandomUniform(0, 0.99, 200) → allRandoms, {0.08023138224494726, 0.9438455218086685, 0.1653973417035798, 0.2841900551969421, 0.16048343936616483, 0.3981410347904107, 0.02242700089334765, 0.39794661186928415, 0.9447765018726383, 0.45445037842473895, 0.5374780137398084, 0.24063369354404926, 0.42919581310757465, 0.14836504377652915, 0.34859782499192604, 0.8318572712286445, 0.35043908185631223, 0.25839731404196487, 0.935445348082948, 0.7816436981250213, 0.7309790434870537, 0.539902480265941, 0.31252465232034915, 0.13397871484175405, 0.06114385491671414, 0.05460997754733278, 0.7104220165388052, 0.8192469289597105, 0.8609771316555704, 0.4036429156568177, 0.37347021449868334, 0.8749110731546956, 0.0010978077230705708, 0.5044346266107246, 0.06283964536577213, 0.3692683620249161, 0.5440740411162699, 0.7579175321724735, 0.5055702830654887, 0.5970569556703279, 0.18605841798556333, 0.08176418579004208, 0.8225089423097579, 0.4380581898217002, 0.5026010575906049, 0.03830180723379218, 0.21150558401690422, 0.5306513378866774, 0.5726654543465726, 0.43200159740609423, 0.4065480073488705, 0.2815253413930917, 0.020915870619392585, 0.08115983680050103, 0.7187783944811484, 0.8404375244118856, 0.50032819263043, 0.04154303994836873, 0.49153619426679357, 0.11503241107736219, 0.7250959477818062, 0.8063608669103616, 0.32871037174709883, 0.5052944965561281, 0.637660304007496, 0.8169597631942978, 0.7037604808016569, 0.770206369379815, 0.8034882007695199, 0.4020969245883253, 0.8657793487256172, 0.3806197614648498, 0.6929548365900589, 0.9405591516835137, 0.34892183988261344, 0.9522197280770559, 0.7713570790106058, 0.24223182968780338, 0.8524120664985478, 0.3207726496660692, 0.2556911550839083, 0.0865039648837258, 0.760168562324849, 0.9185972631680894, 0.5503735400209612, 0.15411072224656966, 0.7818497887940516, 0.2963828493188978, 0.48356619362840575, 0.7591698862448504, 0.10082375058047006, 0.8581024293327506, 0.551186685502351, 0.5922604828084171, 0.5692045435310573, 0.8388286150868722, 0.6370422626287194, 0.6529207941707377, 0.42567423633506074, 0.3157585621357409, 0.8848206082538157, 0.8009099663869175, 0.19832263385242566, 0.37168947680361664, 0.5409034475418314, 0.8799816879511099, 0.5221882521884781, 0.3075593630644437, 0.006138511830296889, 0.11576033163343309, 0.9695729351312897, 0.10647827678639624, 0.4998129215568042, 0.7105888070763231, 0.7705284979954672, 0.11592341696327166, 0.28011621282681765, 0.8929349390913388, 0.051177026054281004, 0.6974567930073217, 0.3423632175069936, 0.20709660406280198, 0.968728662336072, 0.8044473918502922, 0.4891673016282403, 0.9105383698672008, 0.9841983383427373, 0.8378402121661767, 0.505611788330766, 0.7012213083657775, 0.03689964875945649, 0.01801270755925883, 0.09726210838331048, 0.9557544737892807, 0.6688076608825214, 0.3071945844813605, 0.3995940120595305, 0.2411009406611979, 0.8218334418778436, 0.5018000945344739, 0.7340827426669365, 0.09791309427308303, 0.7269419984216737, 0.3273323398410428, 0.42880574199132504, 0.1923510503807313, 0.7008713276468963, 0.5702672349057253, 0.5099562577004417, 0.8954549437759067, 0.3039740099654091, 0.27151044707158817, 0.4351476539177407, 0.8147962644400452, 0.4114039382165361, 0.34464351623875966, 0.7798082444741103, 0.5022247122485265, 0.8795094179596437, 0.9092357870161872, 0.44432363120784235, 0.5140572224633524, 0.4198701528597427, 0.4049972302339527, 0.67187895827429, 0.31602162430334774, 0.44492919295629735, 0.8564824760783206, 0.9351852257107005, 0.8446723889823481, 0.9216220229442591, 0.44042934265761385, 0.484444319839745, 0.7298375496353887, 0.1927940449969807, 0.8686260280942094, 0.0990145606734682, 0.7789347383487906, 0.03052311388241317, 0.7784489676245668, 0.6512836207347554, 0.2637120815694483, 0.5807283878359765, 0.17089875926551348, 0.6532377357648356, 0.6331227364541785, 0.8046471886135135, 0.022085019191956663, 0.05413669559992002, 0.7826345186200967, 0.5099005917598695, 0.9486712281274586, 0.4115609307510818, 0.6503054748503543, 0.3819445886736512, 0.09078864968161554, 0.6778921474576899, 0.953421979535975, 0.7357172295781941, 0.7373644324548688}
  2. Take(allRandoms, randIndex, randIndex + numRandoms - 1) → currentRandomSeeds
  3. Flatten(Sequence[Sequence[Sequence[(w, l, h), l, 1, 5], w, 1, 5], h, 1, 5]) → domainPoints
  4. Corner(5) → Dims
  5. CornerThreeD(-1, 11) → CurrentViewDirection
  6. First(startH, height) → hts
  7. First(startL, length) → lens
  8. Flatten(Sequence[Sequence[lens(n) + hts(t), n, 1, Length[lens]], t, 1, Length[hts]]) → startRows
  9. Flatten(Sequence[Sequence[startRows(n) + k, k, 0, width - 1], n, 1, Length[startRows]]) → pointInds
  10. Polygon((0, 0, 1), (length, 0, 1), (length, width, 1), (0, width, 1)) → baseQuad, edgeBase9, edgeBase10, edgeBase11, edgeBase12
  11. Prism(baseQuad, height) → basePrism, BasePrismH1, edgeBase1, edgeBase2, edgeBase3, edgeBase4, edgeBase5, edgeBase7, edgeBase8, edgeBase6, BasePrismH2, BasePrismH3, BasePrismH4, baseFace1, baseFace3, baseFace4, baseFace2, baseFaceTop
  12. Zip(domainPoints(p), p, pointInds) → startPositions
  13. Sequence(Zip[Polygon[{n + (-1, -1, k), n + (0, -1, k), n + (0, 0, k), n + (-1, 0, k)}], n, First[startPositions, countBlocks]], k, 0, 1) → blockTopBottom
  14. Sequence(Zip[Polygon[{n + (-1, k, 0), n + (0, k, 0), n + (0, k, 1), n + (-1, k, 1)}], n, First[startPositions, countBlocks]], k, -1, 0) → blockFrontBack
  15. Sequence(Zip[Polygon[{n + (k, -1, 0), n + (k, 0, 0), n + (k, 0, 1), n + (k, -1, 1)}], n, First[startPositions, countBlocks]], k, -1, 0) → blockLeftRight
  16. Zip(Prism[Polygon[{n + (-1, -1, 0), n + (0, -1, 0), n, n + (-1, 0, 0)}], 1], n, First[startPositions, countBlocks]) → blockOutline
  17. Zip(Prism[Polygon[{n + (-1, -1, 0), n + (0, -1, 0), n, n + (-1, 0, 0)}], 1], n, startPositions) → blockOutlineStart

AI Drawing Prompt Reference

Create a 3D block-prism composition by stacking cube-like units. First define a rectangular base quadrilateral in 3D and use it as the cross-section to generate a prism at each selected grid position. Build a grid of domain points, then, for each starting position, form the unit’s top and bottom faces and add corresponding side faces by drawing quadrilateral outlines for the front/back and left/right directions. Combine these faces from all units to obtain a layered, blocky solid resembling composing prisms from stacked cubes, viewed from an angled 3D perspective.
The prompt above was compiled from the original drawing commands and is for reference only.