Colorful Right Triangles and Pythagorean Theorem Practice

Colorful Right Triangles and Pythagorean Theorem Practice
Loading the math board and drawing, please wait…
2024-09-26 21:27
This example generates colorful right triangles for interactive practice, helping students master the Pythagorean theorem. Core math concepts include right triangle properties, the Pythagorean theorem formula (a²+b²=c²), and its expression under various naming conventions. Construction uses Polygon for drawing triangles, Angle for measuring angles, RandomElement and Sequence for random question generation, and Text for displaying problem content. Suitable for grades 7-8, ideal for classroom practice or homework reinforcement to help students apply the Pythagorean theorem in solving geometry problems.

GeoGebra Commands & Parameters

  1. Flatten(Join[{{1}, Sequence[Shuffle[{1, 2}], i, 1, 50]}]) → randomTypes
  2. Element(randomTypes, Mod[questionCount, Length[randomTypes]] + 1) → actualRandomTyp
  3. Sequence(Rotate[possibleDreieckPointsStart, i°, possibleDreieckPointsCenter], i, 0, 360 - 1, 15) → possibleDreieckPoints
  4. Shuffle(1…Length[possibleDreieckPoints]) → randomDreieckNumbers, {1, 19, 15, 23, 6, 5, 16, 21, 20, 4, 24, 17, 2, 12, 11, 14, 7, 18, 9, 10, 3, 22, 8, 13}
  5. Element(randomDreieckNumbers, Mod[questionCount, Length[randomDreieckNumbers]] + 1) → actualRandomDreieckNumber
  6. Element(possibleDreieckPoints, actualRandomDreieckNumber) → dreieckA
  7. Element(possibleDreieckPoints, If[actualRandomDreieckNumber ≤ Length[randomDreieckNumbers] / 2, actualRandomDreieckNumber + Length[randomDreieckNumbers] / 2, actualRandomDreieckNumber - Length[randomDreieckNumbers] / 2]) → dreieckB
  8. IndexOf(dreieckA, possibleDreieckPoints) → numberPosA
  9. If(numberPosA ∈ (1…numberNachbarn), Join[{First[possibleDreieckPoints, numberPosA + numberNachbarn], Last[possibleDreieckPoints, (numberNachbarn * 2) + 1 - (numberPosA + numberNachbarn)]}], If[numberPosA ∈ (Length[possibleDreieckPoints]…(Length[possibleDreieckPoints] - numberNachbarn)), Join[{First[possibleDreieckPoints, (numberNachbarn * 2) + 1 - (Length[possibleDreieckPoints] - numberPosA + 1 + numberNachbarn)], Last[possibleDreieckPoints, Length[possibleDreieckPoints] - numberPosA + 1 + numberNachbarn]}], Take[possibleDreieckPoints, numberPosA - numberNachbarn, numberPosA + numberNachbarn]]) → nachbarnA
  10. IndexOf(dreieckB, possibleDreieckPoints) → numberPosB
  11. If(numberPosB ∈ (1…numberNachbarn), Join[{First[possibleDreieckPoints, numberPosB + numberNachbarn], Last[possibleDreieckPoints, (numberNachbarn * 2) + 1 - (numberPosB + numberNachbarn)]}], If[numberPosB ∈ (Length[possibleDreieckPoints]…(Length[possibleDreieckPoints] - numberNachbarn)), Join[{First[possibleDreieckPoints, (numberNachbarn * 2) + 1 - (Length[possibleDreieckPoints] - numberPosB + 1 + numberNachbarn)], Last[possibleDreieckPoints, Length[possibleDreieckPoints] - numberPosB + 1 + numberNachbarn]}], Take[possibleDreieckPoints, numberPosB - numberNachbarn, numberPosB + numberNachbarn]]) → nachbarnB
  12. If(numberPosB < numberPosA, Join[{First[possibleDreieckPoints, numberPosB], Last[possibleDreieckPoints, Length[possibleDreieckPoints] + 1 - numberPosA]}], Take[possibleDreieckPoints, numberPosA, numberPosB]) → nichtC
  13. RandomElement(possibleDreieckPoints \ Join[{nachbarnA, nachbarnB, nichtC}]) → dreieckC
  14. Polygon(dreieckA, dreieckB, dreieckC) → dreieck, dreieckc, dreiecka, dreieckb
  15. If(actualRandomTyp ≟ 1, resetPositionsAll, If[actualRandomTyp ≟ 2, Shuffle[resetPositionsAll], If[actualRandomTyp ≟ 3, {(0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0)}]]) → resetPositionsActual
  16. Sequence(If[resetPositionsActual(i) ≟ (0, 0), false, true], i, 1, Length[resetPositionsActual]) → showElements
  17. Textfield(input1) → inputBox1
  18. Textfield(input2) → inputBox2
  19. Shuffle(2…24) → randomLettersNumbers, {18, 10, 3, 7, 12, 4, 14, 13, 9, 16, 17, 5, 24, 23, 11, 21, 22, 15, 19, 2, 8, 20, 6}
  20. If(actualRandomTyp ≠ 3, Element[randomLettersNumbers, Mod[questionCount, Length[randomLettersNumbers]] + 1], If[Element[randomLettersNumbers, Mod[questionCount, Length[randomLettersNumbers]] + 1] ≥ 22, 1, Element[randomLettersNumbers, Mod[questionCount, Length[randomLettersNumbers]] + 1]]) → actualRandomLettersNumber
  21. Element(randomLetters, actualRandomLettersNumber + 0) → actualRandomLetter1
  22. Element(randomLetters, actualRandomLettersNumber + 1) → actualRandomLetter2
  23. Element(randomLetters, actualRandomLettersNumber + 2) → actualRandomLetter3
  24. UnicodeToText(TextToUnicode[inputText] \ {32}) → inputTextTrim
  25. Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {8, 10, 7, 2, 8, 8, 3, 7, 10, 3}
  26. Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumber
  27. Defined(IndexOf["sqrt", "" + inputTextTrim]) → isTypicalErrorTyp3Wurzel
  28. RemoveUndefined(Sequence[If[showElements(i), boxEndAll(i)], i, 1, Length[boxEndAll]]) → boxEndActualType
  29. Point(Semicircle[dreieckStart1A, dreieckStart1B]) → dreieckStart1C
  30. Text(actualRandomLetter3 + "^2\vphantom{g_g}", Midpoint[box6Start, box6Start + (boxSize, boxSize)], true, true, 0, 0) → txtLetter3Quadrat
  31. Text(actualRandomLetter2 + "^2\vphantom{g_g}", Midpoint[box5Start, box5Start + (boxSize, boxSize)], true, true, 0, 0) → txtLetter2Quadrat
  32. Text(actualRandomLetter1 + "^2\vphantom{g_g}", Midpoint[box4Start, box4Start + (boxSize, boxSize)], true, true, 0, 0) → txtLetter1Quadrat
  33. Angle(dreieckA, dreieckC, dreieckB) → rechterWinkel
  34. Dilate(quadratA, solutionTransformationFaktor, solutionTransformationPoint) → quadratASolution
  35. Dilate(quadratB, solutionTransformationFaktor, solutionTransformationPoint) → quadratBSolution
  36. Dilate(quadratC, solutionTransformationFaktor, solutionTransformationPoint) → quadratCSolution
  37. Shuffle(1…Length[randomColors]) → randomColorsNumber, {4, 3, 2, 1}
  38. Element(randomColors, Element[randomColorsNumber, Mod[questionCount, Length[randomColorsNumber]] + 1]) → actualRandomColor
  39. Element(randomColorsTransparent, Element[randomColorsNumber, Mod[questionCount, Length[randomColorsNumber]] + 1]) → actualRandomColorTransparent
  40. Point(Semicircle[dreieckStart2A, dreieckStart2B]) → dreieckStart2C
  41. Point(Semicircle[dreieckStart3A, dreieckStart3B]) → dreieckStart3C
  42. Point(Semicircle[dreieckStart4A, dreieckStart4B]) → dreieckStart4C
  43. Point(Semicircle[dreieckStart5A, dreieckStart5B]) → dreieckStart5C
  44. Text(actualRandomLetter1 + "^2\vphantom{g_g}", Centroid[quadratA(1)], true, true, 0, 0) → txtBeschriftungLetter1Quadrat
  45. Text(actualRandomLetter2 + "^2\vphantom{g_g}", Centroid[quadratB(1)], true, true, 0, 0) → txtBeschriftungLetter2Quadrat
  46. Text(actualRandomLetter3 + "^2\vphantom{g_g}", Centroid[quadratC(1)], true, true, 0, 0) → txtBeschriftungLetter3Quadrat
  47. Text(actualRandomLetter1 + "\vphantom{gh_g}", Midpoint[dreiecka], true, true, 0, 0) → txtBeschriftungLetter1
  48. Text(actualRandomLetter2 + "\vphantom{gh_g}", Midpoint[dreieckb], true, true, 0, 0) → txtBeschriftungLetter2
  49. Text(actualRandomLetter3 + "\vphantom{gh_g}", Midpoint[dreieckc], true, true, 0, 0) → txtBeschriftungLetter3
  50. Text(actualRandomLetter1 + "\vphantom{gh_g}", Midpoint[box1Start, box1Start + (boxSize, boxSize)], true, true, 0, 0) → txtLetter1
  51. Text(actualRandomLetter2 + "\vphantom{gh_g}", Midpoint[box2Start, box2Start + (boxSize, boxSize)], true, true, 0, 0) → txtLetter2
  52. Text(actualRandomLetter3 + "\vphantom{gh_g}", Midpoint[box3Start, box3Start + (boxSize, boxSize)], true, true, 0, 0) → txtLetter3
  53. Angle((12.3, 2.7 - 0.5), (10.3, 2.7 - 0.5), (10.3, 3.7 - 0.5)) → dreieckHintTyp1Winkel
  54. Angle((13.5, 3.4), (11.5, 3.4), (11.5, 4.6)) → dreieckHintTyp2Winkel
  55. Angle((12.3, 2.7 - 0.5), (10.3, 2.7 - 0.5), (10.3, 3.7 - 0.5)) → dreieckHintTyp3Winkel
  56. Angle(Dilate[dreieckA, solutionTransformationFaktor, solutionTransformationPoint], Dilate[dreieckC, solutionTransformationFaktor, solutionTransformationPoint], Dilate[dreieckB, solutionTransformationFaktor, solutionTransformationPoint]) → rechterWinkelSolution

AI Drawing Prompt Reference

Draw a set of colorful right triangles for Pythagorean theorem practice. The figure should include three points forming a right triangle, with one angle measured as a right angle, and text labeling the problem. The construction order is: first generate random points, combine them into triangles, measure the right angle, and then add text. Suitable for grades 7-8 for classroom practice or homework reinforcement.
The prompt above was compiled from the original drawing commands and is for reference only.