Vertical Angles Formed by Parallel Lines and a Transversal

Vertical Angles Formed by Parallel Lines and a Transversal
Loading the math board and drawing, please wait…
2023-08-26 02:23
This example demonstrates the vertical angles formed by parallel lines and a transversal, and their congruency. Students can understand the properties of vertical angles by constructing parallel lines, a transversal, and vertical angles. GeoGebra commands such as Polygon, Segment, Point, Circle, Sequence, Line, and Angle are used. Suitable for 6-8 grade students to learn about the congruence and supplementary relationships of angles formed by cutting parallel lines with a transversal.

GeoGebra Commands & Parameters

  1. Polygon({(-2.5, -2.5), (-2.5, 2.2), (2.5, 2.2), (2.5, -2.5)}) → graphArea
  2. Segment(intersectP1(1) + (0.9, 0), intersectP1(2) - (0.9, 0)) → segP1Range
  3. Point(segP1Range) → InputPoint1
  4. Circle(InputPoint1, 0.7) → polyCircle1
  5. Polygon({InputPoint1 + (0.8, 0.8), InputPoint1 + (0.8, -0.8), InputPoint1 + (-0.8, -0.8), InputPoint1 + (-0.8, 0.8)}) → polySquare1
  6. Segment(intersectP1(1), intersectP1(2)) → segmentP1
  7. Polygon({intersectP1(1) + (0, 0.1), intersectP1(1) - (0, 0.1), intersectP1(2) - (0, 0.1), intersectP1(2) + (0, 0.1)}) → streetP1
  8. Sequence(RandomPointIn[graphArea], n, 1, 200) → RandomStarts, {(-2.0777212029731533, 0.3921524404082235), (-2.262914706114294, 0.34518284314786474), (0.6255849150513857, -2.387427150161613), (-0.5529880552264306, 0.6390525647021743), (-1.3109594884122966, 1.5478715779083556), (-2.0256149240855743, 2.101543364516256), (-0.8919306296911174, 0.9850147070591571), (-0.19315304616703521, -1.6154751275900172), (1.7636845688853136, 1.425339922965044), (0.4365705971497964, 2.1549186126820503), (2.432677136790508, 2.138993597081373), (2.1847320834876003, -1.2883983703684663), (-2.2869076928108663, 0.70726451283852), (-1.8606548331022832, 0.28623882014717283), (-0.40169900667560876, 0.8598924683469744), (-2.30388689209645, -1.1383650127615317), (1.4222307749352883, 0.7041745002071416), (0.7593338414697599, -2.008120196837663), (2.2938285763351223, -1.3706877611818882), (-1.8664693885680927, 0.7061195057680445), (-1.0594140176584799, -0.6470576038025408), (0.016358838713639745, 2.0222218736147983), (2.0889654615857687, 1.9571594281139904), (-2.2105226417282173, -0.6120912242000591), (-0.8761779041203095, 0.6385903410625042), (1.4964500767271298, -0.6948848078069252), (0.7894268587580693, 0.3711981520196641), (1.495382015075709, 1.078393157945234), (2.121450038952121, 0.1514904440191347), (-2.2211282843184126, -2.139890599394945), (1.632277628987156, -0.13632331478287707), (-0.6350011146089451, 0.5439977846343558), (-1.9887154896038166, -0.032930838274887186), (-1.0195539526574642, -0.8156909700214445), (0.2472023657503315, 1.0696367145341288), (-0.019513537298684547, 0.790359142974228), (0.13147262339312427, -0.8898755582528015), (-1.919543979004596, -0.9342876518678658), (0.5594873726417182, 0.6265157336852467), (0.009454125684770887, -1.5724584830571504), (-1.0891255197428729, 1.0408654954477323), (-0.3605922868890401, 2.1548944074729093), (2.060495198098117, 1.3396512270664567), (-0.5087395842462743, 0.574651012890139), (-1.7514233122406826, 0.8747840316941842), (1.7749339176998307, -0.7991077986667241), (1.1214127782969303, -0.8467032215817702), (-1.7191576677494762, -0.7027928490426638), (-2.256679046145034, 0.8234669208723333), (-2.4918803195970867, -1.9678474845853482), (0.27605507763729786, 0.7017585067943597), (0.3883580050293767, -0.054368257605681425), (0.3236275411227991, 0.11845922566073686), (-2.156467891892944, -1.5615986023357422), (0.6485049427491516, -0.5097377191890109), (-0.7970767398656236, -1.1617861902333775), (1.0793973196594964, 0.8552876731003343), (0.1962345693276597, -0.3157051822610635), (-1.0486289778115443, -0.2698402715818986), (-2.1612756734559726, -0.3930899050571237), (-0.6542295561481586, 1.8697522087608913), (2.0290672818714492, -1.039291155919366), (1.730443983475582, -0.5719157714597702), (0.09178597034686709, -1.1006587924895899), (2.340025656539929, 0.9335976335132079), (0.813475110826225, 1.3545308357326182), (0.7815332894170317, 0.603664376562715), (-1.2543204977602103, 0.2053413827119468), (-0.09769985510804613, -1.4683275615571447), (-2.32283620892012, 1.9928088913714737), (-0.08473407979255132, -1.8145940650783763), (-0.785551806172804, -1.748577152970182), (1.1409112320420562, -2.342314737383417), (-1.6481335222503195, 0.8921197570279786), (-0.5043737887388311, -0.9906499240667788), (-2.238965563146118, -0.21848720447165793), (0.03306165420399765, -0.05933212485867578), (1.2845012054247391, -0.5809847285920617), (1.4280215832844405, 1.3201186829969962), (-0.2205121427695822, 2.0173232437084962), (-1.7182907024697869, -0.4107450688617047), (-0.974999622708272, -1.0575941655826313), (-1.477348118325656, -2.0510446072486346), (-0.12076288389089296, 1.6667128435351204), (-0.020617712387756004, 1.3158885276288967), (0.2540943924157695, -0.06626024781740592), (-1.5910339040728505, 1.7183716385537133), (1.7597052431686215, 0.4233999108766415), (-1.120277943221462, 0.27805833422084714), (1.064329898947209, 0.9458396405347744), (-1.573013923959794, -1.2019921163737721), (2.1135508990892804, -2.4236141409292533), (0.32753397823400743, -0.45131422017826495), (0.3576041482268555, -1.9237460651583387), (-0.8287202127556959, 0.11131765840594054), (-0.9531835817945522, -0.8775505585589476), (1.1481277824154135, 0.8027612843642347), (0.47249649635393975, 0.7959824120037271), (0.6133642043383336, 0.1676863763445935), (1.7542635754538, -1.2499303682132434), (2.046728797470177, -0.9176543569001481), (0.404679086982918, 1.299436819039868), (0.9783202006986675, 1.6695918773599034), (-0.5618213635909031, 0.03813793086535), (-1.6812590746189249, -0.4229568832814419), (0.2336869050966044, 0.20649484874298674), (-0.1986005040178016, -2.4805824824012093), (-1.2910718811860593, -0.012181406772778125), (0.921643624990232, 0.33205645940794604), (1.6193291982688587, -0.07749392942809807), (-2.159593945151647, 0.42552626047647335), (-0.044454181434217865, 0.8809161266953529), (1.2093028821222784, -1.2290671961992932), (0.4810228649462345, 0.33711138394412954), (-2.230367738510666, -0.017793517401173187), (-0.5753661675807398, 1.1331106949303793), (-1.1205221952392557, 1.195110669941779), (-0.7766699329678399, -0.18226676359543514), (0.831131554488755, 0.8730970040532116), (-0.004143620519301727, 1.5854185692573228), (-1.0646949786011628, 1.4973768421353317), (2.1209804800385124, 0.9285972983913791), (0.8691094486727549, 0.922702441870201), (-0.10768976591298385, -0.9477607943270634), (-0.28845937937939103, -0.09865840510123913), (-1.2733408657634309, -2.01885565716349), (-1.5767876439533302, -0.8043926583799188), (-0.1859485710373332, 1.2193471787595498), (0.2663421453097996, 2.114044058426261), (1.4148423834876684, -0.10330834436937053), (-1.1935027126786613, -1.382001669993073), (0.23306029036040954, -0.5398117277279935), (1.6893710128417085, 1.5537939286367912), (-0.5750378271254037, 2.037204090881393), (-0.6561371480494926, 1.6711045293283098), (1.837925022873069, 1.8138396039568239), (-1.8730025351265578, 0.19036260786495607), (-1.982820087531768, 0.4350332915870925), (2.196723036308569, -1.1188352587088872), (-1.6334733865727453, -0.7570069506475716), (-0.42461169367080176, -2.190371034244518), (-2.395947971751482, 2.0274848744949505), (0.44970466221786287, -1.994469024285317), (2.3150049368700625, -2.0346788232072335), (-0.25774072357440714, -1.8102070184915404), (-1.0286328808431067, -0.22292751503878705), (1.3851499682018478, 1.9895183373741254), (0.26128797584295915, -1.973415286760964), (-1.4719261612972794, 1.9512639627983717), (1.95143787163342, 0.23331960613185254), (2.1212062960075624, 0.043609690929909295), (0.7914653412054835, 1.5588422589241686), (-0.07253203952111642, -0.6826656736382988), (1.1621262077525385, -0.4330342478913307), (-0.9607177986417703, -0.23437505789202717), (-0.7327129256196141, -0.9578807255757189), (2.4016842705694916, 0.6977465810548158), (-1.325113803331905, -2.0175602846762177), (-1.3233460541167352, -2.1925353492675623), (-0.07693015079458698, 0.5628987740104288), (0.02279497942355846, -1.51773441607348), (-0.2748966082539219, -2.1105439574431855), (-0.9899990186186121, -0.7389635519163014), (2.0302901018001496, 1.6377905037707734), (-1.0595040553100743, -0.9936375155135364), (-1.1719872238371694, -1.8104031154481666), (1.3056538245705647, -0.28702522040822), (-1.8818528626443127, -0.054261447902239635), (-0.02774713175854382, 1.6261213421642005), (-0.08652277965026656, -1.7912634507466003), (-1.037666582231798, 0.192762270249069), (-1.5116231028044584, 1.8871284782110669), (-0.6324194451938869, 0.4144783689306961), (0.34290591460020403, -2.2188307422144575), (1.0221657834372664, -0.4861371514427124), (-2.487403433457962, 1.3631504395557452), (1.0472365535093013, 0.5659011752510192), (-0.07840319636452442, -0.03370057079646083), (-0.7242492672343754, -1.017524408270314), (-1.5495369467305053, -1.0562191605267819), (-0.131888434660401, 0.4716190568895984), (2.269781033581796, 0.5537525769190381), (-0.8629324206025102, -0.7764812373735441), (-0.2230745191744936, -0.8322609889977204), (1.7145956654151684, -0.29748616318176513), (2.165652953867757, 1.3877686290871583), (0.7139988164055673, -1.751546333518805), (2.2568526766919934, 0.09278009251632913), (2.4672034308681408, 0.31177862288674385), (-1.2763335960436866, 1.1167346703064918), (-2.2497486078855826, 1.0645569924886615), (2.2553180719944166, -0.210316832651805), (-0.8507614494067188, -1.7555435182348558), (0.5213783314757228, -1.9512827289126), (-1.63553999261641, 0.6002522137903283), (-1.9781777141743522, -1.351706312972678), (-2.197720370679186, 0.4159662847640879), (0.03812035990522755, -1.3311447806280268), (-2.2377496809253765, -1.0038919544088696), (1.9367350275819453, 1.0389793553338644)}
  9. Segment(intersectP2(1) + (0.9, 0), intersectP2(2) - (0.9, 0)) → segP2Range
  10. Point(segP2Range) → InputPoint2
  11. Line(InputPoint1, InputPoint2) → lineT
  12. Segment(InputPoint1, InputPoint2) → segmentT
  13. Angle(segmentT, segmentP1) → tpAngle
  14. If(y(Element[intersectT, 2]) > -2.5, (0, distT2), (distT, 0)) → PointDistBottom
  15. If(y(Element[intersectT, 1]) < 2.2, (0, distT2), (distT, 0)) → PointDistTop
  16. Polygon({intersectT(1) + PointDistTop, intersectT(1) - PointDistTop, intersectT(2) - PointDistBottom, intersectT(2) + PointDistBottom}) → streetTransversal
  17. Polygon({InputPoint2 + (0.8, 0.8), InputPoint2 + (0.8, -0.8), InputPoint2 + (-0.8, -0.8), InputPoint2 + (-0.8, 0.8)}) → polySquare2
  18. Polygon({intersectP2(1) + (0, 0.1), intersectP2(1) - (0, 0.1), intersectP2(2) - (0, 0.1), intersectP2(2) + (0, 0.1)}) → streetP2
  19. KeepIf(Distance[n, polySquare1] > 44 / 90 ∧ Distance[n, polySquare2] > 44 / 90 ∧ Distance[n, streetTransversal] > 44 / 90 ∧ Distance[n, streetP1] > 44 / 90 ∧ Distance[n, streetP2] > 44 / 90 ∧ Distance[n, x = -2.5] > 4 / 9 ∧ Distance[n, x = 2.5] > 4 / 9 ∧ Distance[n, y = -2.5] > 4 / 9 ∧ Distance[n, y = 2.2] > 4 / 9, n, RandomStarts) → PointsInRangeB
  20. KeepIf(Distance[n, polyCircle1] > 44 / 90 ∧ Distance[n, polySquare2] > 44 / 90 ∧ Distance[n, streetTransversal] > 44 / 90 ∧ Distance[n, streetP1] > 44 / 90 ∧ Distance[n, streetP2] > 44 / 90 ∧ Distance[n, x = -2.5] > 4 / 9 ∧ Distance[n, x = 2.5] > 4 / 9 ∧ Distance[n, y = -2.5] > 4 / 9 ∧ Distance[n, y = 2.2] > 4 / 9, n, RandomStarts) → PointsInRangeA
  21. Flatten(Sequence[{-1, 0, 1}, n, 1, 33]) → randomList1
  22. Element(randomList1, Mod[countQuestion, 100] + 1) → randomNum1
  23. Circle(InputPoint2, 0.7) → polyCircle2
  24. If(Angle[dist1P, dist4P] > 180°, 360° - Angle[dist1P, dist4P], Angle[dist1P, dist4P]) → α
  25. If(randomNum1 ≟ 0, PointsInRangeB, PointsInRangeA) → PointsInRange
  26. KeepIf(x(n) < 0 ∧ -1 < y(n) < 1, n, PointsInRange) → PointsLeft90
  27. KeepIf(lineP2(n) < y(n) < lineP1(n) ∧ y(n) > lineT(n), n, PointsInRange) → PointsLeft
  28. Element(PointsLeft90, Mod[countQuestion, Length[PointsLeft90]] + 1) → PointLeftR
  29. Element(PointsLeft, Mod[countQuestion, Length[PointsLeft]] + 1) → PointLeftA
  30. KeepIf(x(n) > 0 ∧ -1 < y(n) < 1, n, PointsInRange) → PointsRight90
  31. Element(PointsRight90, Mod[countQuestion, Length[PointsRight90]] + 1) → PointRightR
  32. KeepIf(lineP2(n) < y(n) < lineP1(n) ∧ y(n) < lineT(n), n, PointsInRange) → PointsRight
  33. Element(PointsRight, Mod[countQuestion, Length[PointsRight]] + 1) → PointRightA
  34. Circle(InputPoint1, 0.8) → arcCircle1
  35. Polygon({InputPoint1, ints2(1), (x(ints1(1)), y(ints2(1))), ints1(1)}) → square4
  36. Polygon({InputPoint1, ints1(2), (x(ints1(2)), y(ints2(1))), ints2(1)}) → square3
  37. Polygon({InputPoint1, ints2(2), (x(ints1(2)), y(ints2(2))), ints1(2)}) → square2
  38. Polygon({InputPoint1, ints1(1), (x(ints1(1)), y(ints2(2))), ints2(2)}) → square1
  39. Circle(InputPoint2, 0.8) → arcCircle2
  40. Polygon({InputPoint2, ints4(1), (x(ints3(1)), y(ints4(1))), ints3(1)}) → square4a
  41. Polygon({InputPoint2, ints3(2), (x(ints3(2)), y(ints4(1))), ints4(1)}) → square3a
  42. Polygon({InputPoint2, ints4(2), (x(ints3(2)), y(ints4(2))), ints3(2)}) → square2a
  43. Polygon({InputPoint2, ints3(1), (x(ints3(1)), y(ints4(2))), ints4(2)}) → square1a
  44. Element({square1, square2, square3, square4, square1a, square2a, square3a, square4a}, clickNum) → squareChoice
  45. If(clickNum ≤ 4, polyCircle1, polyCircle2) → circleDrag
  46. Point(circleDrag) → DragPointNew
  47. Angle(DragPointNew, centerP, PolyA) → angleMoved
  48. If(clickNum ≤ 4, arcCircle1, arcCircle2) → arcCircle
  49. Zip({m, n, p}, n, arc1IntsP, m, arcInputs, p, arc2IntsP) → polyPointsP
  50. Vector(centerP, DragPointNew) → dist1PN
  51. Rotate(dist1PN, α / 3) → dist6PN
  52. Rotate(dist1PN, α) → dist4PN
  53. Rotate(dist1PN, (2 * α / 3)) → dist2PN
  54. Segment(intersectP2(1), intersectP2(2)) → segmentP2
  55. CircleSector(InputPoint1, ints1(1), ints2(2)) → arc1
  56. CircleSector(InputPoint1, ints2(2), ints1(2)) → arc2
  57. If(arc1 > arc2, If[x(InputPoint1) > x(InputPoint2), 1, 2], x(InputPoint1) > x(InputPoint2), 3, 4) → case
  58. If(clickNum ≟ 9 ∧ case ≟ 1 ∨ clickNum ≟ 3 ∨ clickNum ≟ 4, -1 - 0.5, clickNum ≟ 9 ∧ case ≟ 2 ∨ clickNum ≟ 7 ∨ clickNum ≟ 8, 1 - 0.5, clickNum ≟ 9 ∧ case ≟ 3 ∨ clickNum ≟ 1 ∨ clickNum ≟ 2, -1 + 0.5, 1 + 0.5) → yPixelPoint1
  59. Point(segmentT) → DragPoint
  60. 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
  61. Corner(5) → layoutAppSize
  62. CircleSector(InputPoint1, ints1(2), ints2(1)) → arc3
  63. CircleSector(InputPoint1, ints2(1), ints1(1)) → arc4
  64. CircleSector(InputPoint2, ints3(1), ints4(2)) → arc1a
  65. CircleSector(InputPoint2, ints4(2), ints3(2)) → arc2a
  66. CircleSector(InputPoint2, ints3(2), ints4(1)) → arc3a
  67. CircleSector(InputPoint2, ints4(1), ints3(1)) → arc4a
  68. Sequence(clickNum ≟ n, n, 1, 8) → active
  69. Zip({m, n, p}, n, arc1Ints, m, arcInputs, p, arc2Ints) → polyPoints
  70. Shuffle(Sequence[Random[1, 2], n, 1, 100]) → randomOrders, {2, 1, 2, 2, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2}
  71. Shuffle(Sequence[Random[-50, -175] / 100, n, 1, 100]) → randomList2, {-1.57, -1, -0.59, -1.34, -1.25, -1.73, -1.27, -0.58, -1.16, -1.67, -1.56, -1.58, -1.13, -1.39, -0.64, -0.94, -1.65, -0.86, -0.62, -1.44, -1.08, -0.88, -1.27, -1.09, -0.88, -1.43, -1.68, -1.38, -0.91, -1.35, -1.23, -0.95, -1.6, -0.53, -1.3, -0.9, -0.62, -0.87, -0.7, -1.23, -1.34, -1.58, -0.54, -0.64, -1.54, -1.4, -1.1, -0.85, -0.83, -1.04, -0.84, -0.51, -1.57, -0.57, -1.34, -0.54, -1.74, -0.65, -1.62, -1.51, -1.18, -1.08, -1.53, -0.52, -1.48, -1.14, -1.38, -0.76, -0.85, -0.62, -0.68, -1.46, -1.04, -0.54, -1.46, -0.56, -1.51, -0.94, -1.11, -1.47, -0.82, -0.88, -0.75, -1.46, -0.51, -1.13, -0.89, -0.95, -1.16, -1.41, -1.45, -0.96, -1.36, -0.76, -0.79, -1.58, -1.58, -1.07, -1.72, -1.31}
  72. Element(randomOrders, Mod[countQuestion, 100] + 1) → randomOrder
  73. Rotate(squareChoice, (-angleMoved), centerP) → staticDragSquare
  74. If(centerP ≟ InputPoint1, InputPoint2, InputPoint1) → endPoint
  75. If(Mod[clickNum, 4] > 1, 0.25, -0.25) → direction
  76. PointToPixels(Corner[1], Corner[3], Corner[5], PixelPoint) → RightPixelCoords
  77. Rotate(dist1P, α / 3) → dist2P
  78. Rotate(dist1P, (2 * α / 3)) → dist3P
  79. Polygon(DragPointNew - dist1PN, DragPointNew, DragPointNew - dist7PN, DragPointNew - dist3PN, DragPointNew - dist5PN) → dragPoly, f, g, h, i, j
  80. KeepIf(y(n) > lineP1(n), n, PointsInRange) → PointsTop
  81. KeepIf(y(n) < lineP2(n), n, PointsInRange) → PointsBottom
  82. Element(PointsTop, Mod[countQuestion, Length[PointsTop]] + 1) → PointTop
  83. If(α ≟ 90°, PointRightR, PointRightA) → PointRight
  84. If(α ≟ 90°, PointLeftR, PointLeftA) → PointLeft
  85. Element(PointsBottom, Mod[countQuestion, Length[PointsBottom]] + 1) → PointBottom
  86. Zip(Vector[PointTreeMiddle, n], n, {PointBottom, PointLeft, PointRight, PointTop}) → vectorTreePics
  87. Zip(Translate[treePicBase, Vector[n]], Vector[n], vectorTreePics) → trees
  88. Rotate(DragStartNew, 180° - α, centerP) → EndPoint
  89. If(case ≟ 1, 3, case ≟ 2, 7, case ≟ 3, 2, 6) → caseChoice
  90. If(case ≟ 1 ∨ case ≟ 2, If[clickNum ≠ 3 ∧ clickNum ≠ 1, 3, 7], clickNum ≠ 2 ∧ clickNum ≠ 4, 2, 6) → caseEnd
  91. sectorPixels(sectorUse(1), sectorUse(2), sectorUse(3), basePixels + haloPixels, Corner[1], Corner[3], Corner[5]) → pulsingObject1
  92. Rotate(ArcA, (-angleMoved), centerP) → DragPointNew'
  93. CircleSector(centerP, DragPointNew', Rotate[DragPointNew', α, centerP]) → staticDragArc
  94. onboardingTextOffset(Corner[onboardingText, 1], Corner[onboardingText, 3], onboardingCase, Corner[1], Corner[3], Corner[5]) → OnboardingTextOffset
  95. Segment(intersectT(1) - PointDistTop, intersectT(2) - PointDistBottom) → lineTransT
  96. Segment(intersectT(1) + PointDistTop, intersectT(2) + PointDistBottom) → lineTransB
  97. Segment(intersectP1(1) + (0, 0.1), intersectP1(2) + (0, 0.1)) → lineTopT
  98. Segment(intersectP1(1) - (0, 0.1), intersectP1(2) - (0, 0.1)) → lineTopB
  99. Segment(intersectP2(1) + (0, 0.1), intersectP2(2) + (0, 0.1)) → lineBottomT
  100. Segment(intersectP2(1) - (0, 0.1), intersectP2(2) - (0, 0.1)) → lineBottomB
  101. CircleSector(arcCover1(1), arcCover1(3), arcCover1(2)) → arcCoverA
  102. CircleSector(arcCover2(1), arcCover2(3), arcCover2(2)) → arcCoverB
  103. Rotate(arcCoverA, (-angleMoved), centerP) → arcCoverA'
  104. Rotate(arcCoverB, (-angleMoved), centerP) → arcCoverB'
  105. Polygon({centerP, innerCenterInts(clickNum), arcCover1(3), arcCover1(2)}) → polyCover1
  106. Polygon({innerCenterInts(clickNum), centerP, arcCover2(3), arcCover2(2)}) → polyCover2
  107. Rotate(polyCover1, (-angleMoved), centerP) → polyCover1'
  108. Rotate(polyCover2, (-angleMoved), centerP) → polyCover2'
  109. Circle(centerP, innerCenterInts(clickNum)) → innerCircle
  110. Point(circleDrag) → PtDropped
  111. Circle(centerP, If[α ≟ 90°, 1.3, 0.95]) → circleArrow
  112. Intersect(circleArrow, Ray[centerP, CenterCircle]) → arrowCenter,
  113. Rotate(arrowCenter, -10°, centerP) → arrowPoint1
  114. Rotate(arrowCenter, 10°, centerP) → arrowPoint2
  115. CircleArc(centerP, arrowPoint1, arrowPoint2) → arrowArc
  116. Segment(arrowCenter, arrowPoint2) → arrowSeg
  117. Rotate(dist1PN, pi / 2) → dist1PN'
  118. Polygon(DragPointNew, DragPointNew - dist1PN, DragPointNew - (dist1PN - dist1PN'), DragPointNew + dist1PN') → dragSquare, dragpointnew, k, l, m

AI Drawing Prompt Reference

Draw a rectangle, then two parallel lines and a transversal line crossing them, forming eight angles. Highlight opposite angles in different colors to show they are equal. Randomly place some points inside the rectangle, ensuring they are not close to the edges or lines. Finally, select one angle, draw its arc, and allow the angle to be dragged to change the size of the arc.
The prompt above was compiled from the original drawing commands and is for reference only.