使用勾股定理识别直角三角形

使用勾股定理识别直角三角形
几何画板及绘图内容加载中,请稍等……
2022-11-09 23:16
本范例演示如何利用勾股定理的逆定理判断三角形是否为直角三角形。核心数学概念包括勾股定理及其逆定理。作图要点涉及使用GeoGebra命令如RandomUniform、Polygon、Angle等构建三角形,并验证边长关系。适合6-8年级学生用于几何学习与实践操作。

GeoGebra 命令及参数

  1. RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.8277290589633475, 0.560564223819123, 0.46710213174405857, 0.2904621745861907, 0.23743610299557338, 0.9431959434407235, 0.4446986026001729, 0.46480875235586894, 0.1775844984350674, 0.5684223835312537, 0.1270465511473419, 0.5787084265515502, 0.9853842256048307, 0.5548093691175524, 0.2909738220953605, 0.5873439320190732, 0.20112255535622156, 0.5610143311077863, 0.3712522922149391, 0.6963293941431112, 0.1511163919655492, 0.6494434582541048, 0.9371940815263081, 0.35592599744677955, 0.22318190971188748, 0.6682326378643612, 0.7527161610111212, 0.35902407163567135, 0.11944145478416895, 0.7275227025615276, 0.5203335380695489, 0.5785247439231074, 0.7490519173858466, 0.5461844267089139, 0.03402318954709579, 0.885408671764353, 0.32213969199831305, 0.8137721995225117, 0.11632109272632342, 0.8478713409886073, 0.07586554156799644, 0.5095455721207632, 0.35137192654966737, 0.4644334006627005, 0.47412000791528897, 0.9358960539801607, 0.41794606037481896, 0.7199015552522717, 0.5038623353243321, 0.7574520008820556, 0.44467090270350573, 0.06245959936213339, 0.9435680800227041, 0.5395076192642156, 0.7838934738072175, 0.7830113964530546, 0.7626386820188181, 0.46023249460478255, 0.1706984742903164, 0.5141763034544332, 0.7549527706456522, 0.7203661946480402, 0.22965141192073418, 0.12605480817435433, 0.025002297434413342, 0.7017880036227687, 0.15381810531474369, 0.2990364268746459, 0.9012581853215692, 0.522474961891458, 0.17853248038117167, 0.8205131315679983, 0.5185484141887358, 0.6699218806679175, 0.476241535450767, 0.7823919680815933, 0.09930814386160847, 0.5780949030561228, 0.12855156201340226, 0.5797659561151114, 0.9425745268983611, 0.4944260512761868, 0.5773317980094524, 0.20800799465281086, 0.0695506598757992, 0.883229091416547, 0.4084021201348739, 0.5458931816693763, 0.8654512588326628, 0.6202273301885664, 0.798938218090601, 0.5461351069901744, 0.04916932012411274, 0.5396325180897323, 0.7032731352061782, 0.9519378099210977, 0.8850662063829613, 0.7203991293508427, 0.3212559820855126, 0.06881999700760968, 0.09488907833387578, 0.6119016470525086, 0.10874906865589826, 0.22505926739935425, 0.41245827045536787, 0.41134275940135134, 0.34120184073565174, 0.21163403115546633, 0.30934318519593507, 0.605698706271955, 0.7585346908433072, 0.4735070215611151, 0.13625920571982006, 0.3199432973357357, 0.8027988098291978, 0.0884991712338863, 0.20236892407758508, 0.11066535755857049, 0.48924739567445297, 0.7678438421440472, 0.6330601402341609, 0.3200047016827708, 0.026561526629238694, 0.7837911992301185, 0.6660989700536333, 0.5690802439184087, 0.8430187429462281, 0.46434888976814975, 0.7163197742475345, 0.9127685946746635, 0.8923746319185818, 0.21339989155547823, 0.40021584263959603, 0.3988154331936571, 0.5261478583100341, 0.41602985856967173, 0.35393173778718423, 0.11382184268645197, 0.7478565364820436, 0.18392571798493648, 0.6512364394781209, 0.706646101870305, 0.12954845405786558, 0.06417419995487987, 0.36206810349984186, 0.23619714052174173, 0.8717004772184824, 0.006692895076910595, 0.6971939074564576, 0.4654683672012606, 0.6042320047334492, 0.5308688534111489, 0.24041643846282187, 0.5969717529476303, 0.2889851848230591, 0.770758288239417, 0.41658406716439256, 0.866479825429727, 0.012569025173133436, 0.32041837131752315, 0.7114273693077846, 0.9321685674235328, 0.362947459163956, 0.07659613236557719, 0.7879434775207511, 0.19487766738082704, 0.2535708448337441, 0.18509106284624122, 0.943690096004807, 0.9522648105807785, 0.3052084948491782, 0.8396380135721171, 0.3439265113754492, 0.4251288480694608, 0.0679337743795753, 0.2981227414783022, 0.487052673752153, 0.5281123832436724, 0.6239467030482266, 0.6003478828098298, 0.7012485067869776, 0.44936701194266837, 0.37608827229190334, 0.8444079003785897, 0.3546047712341493, 0.29457520342926646, 0.09700852538875443, 0.2950117577858102, 0.8753621066196811, 0.5999711741057907, 0.7299948673277691, 0.5568079812904525, 0.9041395255385412, 0.7266876965184035, 0.8144501113862676, 0.40892197985540596, 0.926234065066884, 0.8048803354493896, 0.5569292306852489, 0.8435063915455362}
  2. Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeeds
  3. If(countQuestion ≟ 0, 16, Element[Sequence[A^(2), A, 4, 15], 1 + floor((currentRandomSeeds(5) * 12))]) → randomSqLengthA
  4. If(countQuestion ≟ 0, 25, Element[Sequence[A^(2), A, 4, 15], 1 + floor((currentRandomSeeds(6) * 12))]) → randomSqLengthB
  5. If(countQuestion ≟ 0, 1, 1 + floor((currentRandomSeeds(2) * 2))) → randomRight
  6. If(randomSqLengthA ≟ randomSqLengthB, 1, randomRight) → rightTriangle
  7. If(randomSolveType ≟ 1, randomSqLengthA + randomSqLengthB, abs(randomSqLengthA - randomSqLengthB)) → correctThirdSquared
  8. Element({-4, -3, -2, -1, 1, 2, 3, 4}, 1 + floor((currentRandomSeeds(1) * 8))) → randomAdd
  9. Sort({randomSqLengthA, randomSqLengthB, If[rightTriangle ≟ 1, correctThirdSquared, incorrectThirdSquared]}) → tripleSquaredList
  10. PixelsToPoint((xMin, yMin), (xMax, yMax), (800, 500), (465, 155)) → PAnchor
  11. Polygon({(0, 0), (boxWidth, 0), (boxWidth, boxHeight), (0, boxHeight)}) → boxTemplate
  12. centerBox(boxWidth, boxHeight, PointPyth2) → Pyth2
  13. centerBox(boxWidth, boxHeight, PointPyth3) → Pyth3
  14. centerBox(boxWidth, boxHeight, PointPyth1) → Pyth1
  15. Zip(simpRadForm[a], a, tripleSquaredList) → tripleListText
  16. Zip(currentLocations(A), A, {2, 3, 1}) → studentSelections
  17. Zip(tripleSquaredList(IndexOf[A, studentSelections]), A, {1, 2, 3}) → studentValues
  18. Defined(studentValues(3)) → filledRegion3
  19. Defined(studentValues(2)) → filledRegion2
  20. Defined(studentValues(1)) → filledRegion1
  21. PixelsToPoint((xMin, yMin), (xMax, yMax), (800, 500), (280, 300)) → PtC
  22. Defined(IndexOf[3, currentLocations]) → t3Filled
  23. Defined(IndexOf[2, currentLocations]) → t2Filled
  24. Defined(IndexOf[1, currentLocations]) → t1Filled
  25. Sequence(If[¬(filledBool(n)), pythCenters(n), (-100, -100)], n, 1, 3) → pythCentersUse
  26. If(countQuestion ≟ 0, pi / 3, Element[{pi / 3, (2 * pi / 3), (4 * pi / 3), (5 * pi / 3)}, 1 + floor((currentRandomSeeds(3) * 4))]) → randomRotation
  27. Rotate(PtC + (tripleList(2), 0), cornerAngle, PtC) → PtA
  28. Polygon({PtA, PtB, PtC}) → triOriginal
  29. PixelsToPoint((xMin, yMin), (xMax, yMax), (800, 500), (180, 180)) → DisplayCenter
  30. Centroid(triOriginal) → CenterTri
  31. Max(Zip[Distance[CenterTri, A], A, {PtA, PtB, PtC}]) → maxLength
  32. Dilate(Rotate[Translate[triOriginal, Vector[CenterTri, DisplayCenter]], randomRotation, DisplayCenter], dilationFactor, DisplayCenter) → triangleQuestion
  33. Vertex(triangleQuestion, 3) → CornerC
  34. Vertex(triangleQuestion, 2) → CornerB
  35. Vertex(triangleQuestion, 1) → CornerA
  36. Zip(Midpoint[J, K], J, TriVertices, K, {TriVertices(2), TriVertices(3), TriVertices(1)}) → midPoints
  37. Zip(Angle[Line[K, J], xAxis], J, TriVertices, K, {TriVertices(2), TriVertices(3), TriVertices(1)}) → sideAngles
  38. Zip(If[A < 90°, 3, If[A < 180°, 2, If[A < 270°, 1, 4]]], A, sideAngles) → cornerNumbers
  39. Zip(numberedCornerBox[boxWidth, boxHeight, A, B], A, midPoints, B, cornerNumbers) → labelBoxes
  40. Sequence(Midpoint[Vertex[labelBoxes(A), 1], Vertex[labelBoxes(A), 3]], A, 1, 3) → homePoints
  41. Element({(-100, -100), PointText1a, PointText2a, PointText3a}, movingInd + 1) → PointMoving
  42. centerBox(boxWidth + 1, (2 * boxHeight), PointPyth3) → region3
  43. centerBox(boxWidth + 1, (2 * boxHeight), PointPyth2) → region2
  44. centerBox(boxWidth + 1, (2 * boxHeight), PointPyth1) → region1
  45. Max({x(PointText1a), x(PointText2a), x(PointText3a)}) → maxX
  46. makeBox((0, 0), boxWidth, boxHeight) → boxTemplate2
  47. If(studentValues(1) ≟ tripleSquaredList(2), tripleSquaredList(2), tripleSquaredList(1)) → solnFirstSq
  48. If(studentValues(1) ≟ tripleSquaredList(2), tripleSquaredList(1), tripleSquaredList(2)) → solnSecondSq
  49. If(cornerAngle ≟ 90°, correctThirdSquared, incorrectThirdSquared) → solnThirdSq
  50. centerBox(boxWidth, boxHeight, PointText3a) → boxText3
  51. 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
  52. centerBox(boxWidth, boxHeight, PointText1a) → boxText1
  53. centerBox(boxWidth, boxHeight, PointText2a) → boxText2
  54. Zip(IsInRegion[PointText1a, A] + IsInRegion[PointText2a, A] + IsInRegion[PointText3a, A], A, {region1, region2, region3}) → countEntries
  55. TableText(row1Soln, row2Soln, row3Soln, "r") → textStepSolution
  56. Angle(CornerA, CornerC, CornerB) → rightAngle
  57. Zip(numberedCornerBox[boxWidth, boxHeight, A, B], A, midPoints, B, cornerNumbers) → staticBoxes
  58. Zip(Centroid[n], n, staticBoxes) → staticCenters
  59. IndexOf(ClosestPoint[staticCenters, (xMax, xMin)], staticCenters) → onboardingIndex
  60. Sequence(Vertex[Pyth1, n], n, 1, 4) → pulseCorners2
  61. centerBox(boxWidth, boxHeight, PointPyth1) → pulsingObject2
  62. IndexOf(ClosestPoint[pythCentersUse, PointMoving], pythCentersUse) → boxInd
  63. IndexOf(maxX, {}) → useIndex
  64. Zip(tripleListText(A), A, {2, 3, 1}) → labelText
  65. IndexOf(true, Zip[IsInRegion[PointMoving, A], A, {region1, region2, region3}]) → destinationIndex
  66. centerBox(boxWidth, boxHeight, destinationLocations(destinationIndex)) → PythHighlight
  67. Zip(Text[("" * A), B, true, true, 0, 0], A, tripleListText, B, {PointText2a, PointText3a, PointText1a}) → movingLabels
  68. centerBox(boxWidth, boxHeight, PointPyth2) → Pyth2Wrong
  69. centerBox(boxWidth, boxHeight, PointPyth1) → Pyth1Wrong
  70. centerBox(boxWidth, boxHeight, PointPyth3) → Pyth3Wrong
  71. Text("\text{Drag to place}", CurrentOnboardingCenter + (7, -0.2), true, true, 1, 0) → onboardingText
  72. Zip(Text[("" * If[Distance[B, C] > 0.5, ("" * A), ""]), B, true, true, 0, 0], A, tripleListText, B, {staticCenters(2), staticCenters(3), staticCenters(1)}, C, {PointText2a, PointText3a, PointText1a}) → staticLabels
  73. If(onboarding ∧ onboardingIndex ≟ 1, pulsing1, 1) → pulsingA
  74. If(onboarding ∧ onboardingIndex ≟ 2, pulsing1, 1) → pulsingB
  75. If(onboarding ∧ onboardingIndex ≟ 3, pulsing1, 1) → pulsingC
  76. centerBox(boxWidth, boxHeight, PointMoving) → movingBackground
  77. TableText(rowSpacing, row1Student, row2Student, "r", 35, 5) → textInputSimplified

AI 绘图提示语参考

画一个示例,展示如何使用勾股定理的逆定理来判断三角形是否为直角三角形。首先绘制一个随机的三角形,然后标注三边长度,并计算两条较短边的平方和以及最长边的平方。根据计算结果,判断该三角形是否为直角三角形,并在图形旁边显示相关的数学表达式和结论。整个图形应包含三角形、边长标注、数学表达式和结论,以清晰地展示勾股定理的逆定理的应用。
以上提示语为根据原始绘图命令整理而来,仅供参考。