Drawing Symmetrical Polygons

Drawing Symmetrical Polygons
Loading the math board and drawing, please wait…
2022-09-01 19:25
This example demonstrates how to draw symmetrical polygons by mirroring given points. Key mathematical concepts include symmetry and polygons. GeoGebra commands such as Rotate, Polygon, and PointIn are used in the construction. Suitable for students in grades 4-5 to learn about identifying and drawing lines of symmetry.

GeoGebra Commands & Parameters

  1. Element({0°, 90°, 45°}, caseNum) → rotAngle
  2. Rotate(xAxis, rotAngle) → axis
  3. Polygon({(min, min), (min, max), (max, max), (max, min)}) → viewbox
  4. PointIn(viewbox) → P1
  5. PointIn(viewbox) → P2
  6. PointIn(viewbox) → P3
  7. PointIn(viewbox) → P4
  8. PointIn(viewbox) → P5
  9. PointIn(viewbox) → P6
  10. PointIn(viewbox) → P7
  11. Shuffle({-5, -1}) → randomX5, {-1, -5}
  12. Element({0, Element[randomX5, Mod[countQuestion, Length[randomX5]] + 1], 0}, caseNum) → x5
  13. Shuffle({-1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -4}) → randomX, {-2, -2, -2, -1, -1, -4, -4, -2, -3, -1, -3, -4, -4, -3, -3, -1}
  14. Element(randomX, Mod[(4 * countQuestion) + 3, Length[randomX]] + 1) → x4
  15. Element(randomX, Mod[(4 * countQuestion) + 2, Length[randomX]] + 1) → x3
  16. Element(randomX, Mod[(4 * countQuestion) + 1, Length[randomX]] + 1) → x2
  17. Element(randomX, Mod[(4 * countQuestion), Length[randomX]] + 1) → x1
  18. Zip(Mirror[A, axis], A, givenPoints) → expectedResult
  19. Zip(A ≟ B, A, expectedResult, B, studentPoints) → correctCheck1
  20. Zip(A ≟ B, A, expectedResult, B, Reverse[studentPoints]) → correctCheck2
  21. If(reverseOrder, Reverse[correctCheck2], correctCheck1) → correctFinal
  22. If(reverseOrder, Reverse[studentPoints], studentPoints) → studentOrderedPoints
  23. Flatten(Zip[{x(A), y(A)}, A, studentPoints]) → inputCurrent
  24. Polygon(Element[{{(min, min), (min, 0), (max, 0), (max, min)}, {(0, min), (0, max), (max, max), (max, min)}, {(min, min), (max, max), (max, min)}}, caseNum]) → correctRegion
  25. Zip(IsInRegion[A, correctRegion], A, studentPoints) → regionCheck
  26. Polygon(Zip[PixelsToPoint[Corner[1], Corner[3], Corner[5], A], A, {(pixelsLeft, pixelsTop), (pixelsLeft, y(Corner[5]) - pixelsBottom), Corner[5] - (pixelsRight, pixelsBottom), (x(Corner[5]) - pixelsRight, pixelsTop)}]) → borderBox
  27. Corner(5) → layoutAppSize
  28. expandCircle(P1, 7 + haloPixels, Corner[1], Corner[3], Corner[5]) → pulsingObject
  29. PolyLine(givenPoints) → givenPattern
  30. PolyLine(expectedResult) → expectedPattern
  31. Zip(If[(¬A) ∧ (¬B) ∧ tries > 0, {228 / 255, 68 / 255, 97 / 255}, {101 / 255, 87 / 255, 210 / 255}], A, correctFinal, B, pointMoved) → pointColor
  32. PolyLine(studentPoints) → studentPattern
  33. Sequence((A, -5), A, -4, 3) → startPoints
  34. Zip(Vector[A, B], B, If[correctFinal ≟ correctCheck1, expectedResult, Reverse[expectedResult]], A, studentPoints) → moveVecs
  35. Zip(A + (animate * B), A, studentPoints, B, moveVecs) → movePoints
  36. PolyLine(movePoints) → animateAns
  37. Polygon({(min - 0.5, min - 0.5), (min - 0.5, max + 1), (max + 1, max + 1), (max + 1, min - 0.5)}) → coverScreen
  38. Sequence((((((("SetFixed(P" * A) * ",") * correctFinal(A)) * ",!") * correctFinal(A)) * ")"), A, If[reverseOrder, Length[studentPoints], 1], If[reverseOrder, 1, Length[studentPoints]], If[reverseOrder, -1, 1]) → cmdLockPoints
  39. Sequence((("SetFixed(P" * A) * ",false,true)"), A, 1, Length[studentPoints]) → cmdUnlockPoints
  40. RemoveUndefined(Zip[If[A, B], A, correctFinal, B, studentPoints]) → correctPoints
  41. Polygon({(min, min), (min, max), (max, max), (max, min)}) → viewBorder
  42. Sequence((("SetFixed(P" * A) * ",true,false)"), A, 1, Length[studentPoints]) → cmdLockAll

AI Drawing Prompt Reference

Draw a symmetrical polygon, such as a square or rectangle, by mirroring given points to create symmetric shapes. The figure includes a rectangular base area, a polygon, and points marked within the rectangle. Students should identify symmetry axes and draw symmetric figures, while checking whether points lie inside the polygon. The construction order is: first create the rectangle, then use mirroring to generate symmetric points, and finally verify the relationship between points and the polygon.
The prompt above was compiled from the original drawing commands and is for reference only.