Colorful Right Triangles and Pythagorean Theorem Practice
Loading the math board and drawing, please wait…
In collections
Satz des Pythagoras - Einführung
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
Flatten(Join[{{1}, Sequence[Shuffle[{1, 2}], i, 1, 50]}]) → randomTypesElement(randomTypes, Mod[questionCount, Length[randomTypes]] + 1) → actualRandomTypSequence(Rotate[possibleDreieckPointsStart, i°, possibleDreieckPointsCenter], i, 0, 360 - 1, 15) → possibleDreieckPointsShuffle(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}Element(randomDreieckNumbers, Mod[questionCount, Length[randomDreieckNumbers]] + 1) → actualRandomDreieckNumberElement(possibleDreieckPoints, actualRandomDreieckNumber) → dreieckAElement(possibleDreieckPoints, If[actualRandomDreieckNumber ≤ Length[randomDreieckNumbers] / 2, actualRandomDreieckNumber + Length[randomDreieckNumbers] / 2, actualRandomDreieckNumber - Length[randomDreieckNumbers] / 2]) → dreieckBIndexOf(dreieckA, possibleDreieckPoints) → numberPosAIf(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]]) → nachbarnAIndexOf(dreieckB, possibleDreieckPoints) → numberPosBIf(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]]) → nachbarnBIf(numberPosB < numberPosA, Join[{First[possibleDreieckPoints, numberPosB], Last[possibleDreieckPoints, Length[possibleDreieckPoints] + 1 - numberPosA]}], Take[possibleDreieckPoints, numberPosA, numberPosB]) → nichtCRandomElement(possibleDreieckPoints \ Join[{nachbarnA, nachbarnB, nichtC}]) → dreieckCPolygon(dreieckA, dreieckB, dreieckC) → dreieck, dreieckc, dreiecka, dreieckbIf(actualRandomTyp ≟ 1, resetPositionsAll, If[actualRandomTyp ≟ 2, Shuffle[resetPositionsAll], If[actualRandomTyp ≟ 3, {(0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0)}]]) → resetPositionsActualSequence(If[resetPositionsActual(i) ≟ (0, 0), false, true], i, 1, Length[resetPositionsActual]) → showElementsTextfield(input1) → inputBox1Textfield(input2) → inputBox2Shuffle(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}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]]) → actualRandomLettersNumberElement(randomLetters, actualRandomLettersNumber + 0) → actualRandomLetter1Element(randomLetters, actualRandomLettersNumber + 1) → actualRandomLetter2Element(randomLetters, actualRandomLettersNumber + 2) → actualRandomLetter3UnicodeToText(TextToUnicode[inputText] \ {32}) → inputTextTrimSequence(Random[1, 10], i, 1, 10) → randomNumbers, {8, 10, 7, 2, 8, 8, 3, 7, 10, 3}Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumberDefined(IndexOf["sqrt", "" + inputTextTrim]) → isTypicalErrorTyp3WurzelRemoveUndefined(Sequence[If[showElements(i), boxEndAll(i)], i, 1, Length[boxEndAll]]) → boxEndActualTypePoint(Semicircle[dreieckStart1A, dreieckStart1B]) → dreieckStart1CText(actualRandomLetter3 + "^2\vphantom{g_g}", Midpoint[box6Start, box6Start + (boxSize, boxSize)], true, true, 0, 0) → txtLetter3QuadratText(actualRandomLetter2 + "^2\vphantom{g_g}", Midpoint[box5Start, box5Start + (boxSize, boxSize)], true, true, 0, 0) → txtLetter2QuadratText(actualRandomLetter1 + "^2\vphantom{g_g}", Midpoint[box4Start, box4Start + (boxSize, boxSize)], true, true, 0, 0) → txtLetter1QuadratAngle(dreieckA, dreieckC, dreieckB) → rechterWinkelDilate(quadratA, solutionTransformationFaktor, solutionTransformationPoint) → quadratASolutionDilate(quadratB, solutionTransformationFaktor, solutionTransformationPoint) → quadratBSolutionDilate(quadratC, solutionTransformationFaktor, solutionTransformationPoint) → quadratCSolutionShuffle(1…Length[randomColors]) → randomColorsNumber, {4, 3, 2, 1}Element(randomColors, Element[randomColorsNumber, Mod[questionCount, Length[randomColorsNumber]] + 1]) → actualRandomColorElement(randomColorsTransparent, Element[randomColorsNumber, Mod[questionCount, Length[randomColorsNumber]] + 1]) → actualRandomColorTransparentPoint(Semicircle[dreieckStart2A, dreieckStart2B]) → dreieckStart2CPoint(Semicircle[dreieckStart3A, dreieckStart3B]) → dreieckStart3CPoint(Semicircle[dreieckStart4A, dreieckStart4B]) → dreieckStart4CPoint(Semicircle[dreieckStart5A, dreieckStart5B]) → dreieckStart5CText(actualRandomLetter1 + "^2\vphantom{g_g}", Centroid[quadratA(1)], true, true, 0, 0) → txtBeschriftungLetter1QuadratText(actualRandomLetter2 + "^2\vphantom{g_g}", Centroid[quadratB(1)], true, true, 0, 0) → txtBeschriftungLetter2QuadratText(actualRandomLetter3 + "^2\vphantom{g_g}", Centroid[quadratC(1)], true, true, 0, 0) → txtBeschriftungLetter3QuadratText(actualRandomLetter1 + "\vphantom{gh_g}", Midpoint[dreiecka], true, true, 0, 0) → txtBeschriftungLetter1Text(actualRandomLetter2 + "\vphantom{gh_g}", Midpoint[dreieckb], true, true, 0, 0) → txtBeschriftungLetter2Text(actualRandomLetter3 + "\vphantom{gh_g}", Midpoint[dreieckc], true, true, 0, 0) → txtBeschriftungLetter3Text(actualRandomLetter1 + "\vphantom{gh_g}", Midpoint[box1Start, box1Start + (boxSize, boxSize)], true, true, 0, 0) → txtLetter1Text(actualRandomLetter2 + "\vphantom{gh_g}", Midpoint[box2Start, box2Start + (boxSize, boxSize)], true, true, 0, 0) → txtLetter2Text(actualRandomLetter3 + "\vphantom{gh_g}", Midpoint[box3Start, box3Start + (boxSize, boxSize)], true, true, 0, 0) → txtLetter3Angle((12.3, 2.7 - 0.5), (10.3, 2.7 - 0.5), (10.3, 3.7 - 0.5)) → dreieckHintTyp1WinkelAngle((13.5, 3.4), (11.5, 3.4), (11.5, 4.6)) → dreieckHintTyp2WinkelAngle((12.3, 2.7 - 0.5), (10.3, 2.7 - 0.5), (10.3, 3.7 - 0.5)) → dreieckHintTyp3WinkelAngle(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.