彩色直角三角形与勾股定理练习

彩色直角三角形与勾股定理练习
几何画板及绘图内容加载中,请稍等……
2024-09-26 21:27
本范例通过生成多个彩色的直角三角形,让学生在互动练习中掌握勾股定理的应用。核心数学概念包括直角三角形的性质、勾股定理公式(a²+b²=c²)及其在不同命名方式下的表达。作图要点:使用Polygon命令绘制三角形,Angle命令测量角度,RandomElement和Sequence命令实现题目随机生成,Text命令显示问题文本。本资源适合7-8年级学生使用,可用于课堂练习或课后巩固,帮助学生熟练运用勾股定理解决实际几何问题。

GeoGebra 命令及参数

  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 绘图提示语参考

请绘制一组彩色直角三角形,用于勾股定理的互动练习。图形应包含三个点构成的直角三角形,测量其中一个角为直角,并用文本标注问题内容。构造顺序为:先随机生成点,组合成三角形,再测量直角,最后添加文本说明。适合7-8年级学生使用,可用于课堂练习或作业强化。
以上提示语为根据原始绘图命令整理而来,仅供参考。