Classifying Triangles by Angles by John Ulbright

Classifying Triangles by Angles by John Ulbright
Loading the math board and drawing, please wait…
2018-03-20 23:16
This example demonstrates how to classify triangles based on angle measures using dynamic geometry. It involves core math concepts like angle classification (acute, right, obtuse triangles), geometric constructions, and conditional logic. Key GeoGebra commands and objects used include Polygon, If, Min, Max, Element, Point, Circle, Segment, Intersect, Mod, Div, Midpoint, Text, and Angle for drawing and labeling triangles dynamically. Suitable for high school mathematics education, this tool aids in visualizing triangle classification criteria and dynamic geometric demonstrations.

GeoGebra Commands & Parameters

  1. Polygon((-3.7, -5), (-2.8, -5), 4) → poly9
  2. Polygon((-4.7, -5), (-3.8, -5), 4) → poly8
  3. Polygon((-3.7, -3.5), (-2.8, -3.5), 4) → poly6
  4. Polygon((-4.7, -3.5), (-3.8, -3.5), 4) → poly5
  5. Polygon((-3.7, -2), (-2.8, -2), 4) → poly3
  6. Polygon((-4.7, -2), (-3.8, -2), 4) → poly2
  7. If(IsInRegion[A, poly9], 1, If[IsInRegion[B, poly9], 2, If[IsInRegion[C, poly9], 3, If[IsInRegion[D, poly9], 4, If[IsInRegion[E, poly9], 5, If[IsInRegion[F, poly9], 6, If[IsInRegion[G, poly9], 7, If[IsInRegion[H, poly9], 8, If[IsInRegion[I, poly9], 9, 0]]]]]]]]) → nineSum
  8. If(IsInRegion[A, poly8], 1, If[IsInRegion[B, poly8], 2, If[IsInRegion[C, poly8], 3, If[IsInRegion[D, poly8], 4, If[IsInRegion[E, poly8], 5, If[IsInRegion[F, poly8], 6, If[IsInRegion[G, poly8], 7, If[IsInRegion[H, poly8], 8, If[IsInRegion[I, poly8], 9, 0]]]]]]]]) → eightSum
  9. If(IsInRegion[A, poly6], 1, If[IsInRegion[B, poly6], 2, If[IsInRegion[C, poly6], 3, If[IsInRegion[D, poly6], 4, If[IsInRegion[E, poly6], 5, If[IsInRegion[F, poly6], 6, If[IsInRegion[G, poly6], 7, If[IsInRegion[H, poly6], 8, If[IsInRegion[I, poly6], 9, 0]]]]]]]]) → sixSum
  10. If(IsInRegion[A, poly5], 1, If[IsInRegion[B, poly5], 2, If[IsInRegion[C, poly5], 3, If[IsInRegion[D, poly5], 4, If[IsInRegion[E, poly5], 5, If[IsInRegion[F, poly5], 6, If[IsInRegion[G, poly5], 7, If[IsInRegion[H, poly5], 8, If[IsInRegion[I, poly5], 9, 0]]]]]]]]) → fiveSum
  11. If(IsInRegion[A, poly2], 1, If[IsInRegion[B, poly2], 2, If[IsInRegion[C, poly2], 3, If[IsInRegion[D, poly2], 4, If[IsInRegion[E, poly2], 5, If[IsInRegion[F, poly2], 6, If[IsInRegion[G, poly2], 7, If[IsInRegion[H, poly2], 8, If[IsInRegion[I, poly2], 9, 0]]]]]]]]) → twoSum
  12. If(IsInRegion[A, poly3], 1, If[IsInRegion[B, poly3], 2, If[IsInRegion[C, poly3], 3, If[IsInRegion[D, poly3], 4, If[IsInRegion[E, poly3], 5, If[IsInRegion[F, poly3], 6, If[IsInRegion[G, poly3], 7, If[IsInRegion[H, poly3], 8, If[IsInRegion[I, poly3], 9, 0]]]]]]]]) → threeSum
  13. Min({side1, side2, side3}) → shortestSide
  14. Max({side1, side2, side3}) → longestSide
  15. Element(Remove[{side1, side2, side3}, {longestSide, shortestSide}], 1) → middleSide
  16. Point({5 - ((5 * longestSide / 98) * side1slider), -5}) → bottomLeft
  17. Circle(bottomLeft, (shortestSide * 10 / 98)) → leftSideCircle
  18. Point({5 + ((5 * longestSide / 98) * side1slider), -5}) → bottomRight
  19. Segment(bottomLeft, bottomRight) → bottomSide
  20. Intersect(leftSideCircle, bottomSide) → noIntersectionPoint_1, Q
  21. Circle(bottomRight, (middleSide * 10 / 98)) → rightSideCircle
  22. Intersect(leftSideCircle, rightSideCircle) → intersectionPoint_1, intersectionPoint_2, ,
  23. If(y(intersectionPoint_1) > y(intersectionPoint_2), intersectionPoint_1, intersectionPoint_2) → intersectionPoint
  24. Polygon((0, 0), (0.9, 0), 4) → poly1
  25. Polygon((0, 1), (0.9, 1), 4) → poly4
  26. Polygon((0, 2), (0.9, 2), 4) → poly7
  27. Mod(onesPlace, 10) → SAone
  28. Mod(tensPlace + Div[onesPlace, 10], 10) → SAten
  29. Div(onesPlace, 10) → SAtensCarry
  30. Div(tensPlace + Div[onesPlace, 10], 10) → SAhundredsCarry
  31. Polygon(L, M, N, O) → q1, l, m, n, o
  32. Segment(bottomLeft, (bottomLeft * (1 - otherSidesTimer)) + (If[Defined[intersectionPoint], intersectionPoint, noIntersectionPoint_1] * otherSidesTimer)) → leftSide
  33. Intersect(rightSideCircle, bottomSide) → noIntersectionPoint_2, P
  34. Segment(bottomRight, (bottomRight * (1 - otherSidesTimer)) + (If[Defined[intersectionPoint], intersectionPoint, noIntersectionPoint_2] * otherSidesTimer)) → rightSide
  35. Midpoint(bottomSide) → bottomLabelPoint
  36. Circle(bottomLeft, ((shortestSide * 10 / 98) * leftCircleTimer)) → growingLeftCircle
  37. Circle(bottomRight, ((middleSide * 10 / 98) * rightCircleTimer)) → growingRightCircle
  38. Text(longestSide, bottomLabelPoint - (0, 1)) → text10
  39. Text(shortestSide, leftLabelPoint) → text11
  40. Text(middleSide, rightLabelPoint) → text13
  41. Angle(intersectionPoint, bottomLeft, bottomRight) → α
  42. Angle(intersectionPoint, bottomRight, bottomLeft) → β
  43. Angle(bottomRight, intersectionPoint, bottomLeft) → γ

AI Drawing Prompt Reference

Create a dynamic geometry illustration showing how to classify triangles by angle measures. Include multiple polygon regions where points determine the triangle type (acute, right, obtuse). Use a slider to control triangle side lengths, dynamically displaying the shortest, longest, and middle sides, along with corresponding circles and segments. Calculate and label the angles between the three vertices, forming a complete demonstration of triangle classification.
The prompt above was compiled from the original drawing commands and is for reference only.