rand(25) + 10 70 - rand( 15 ) 70 - rand( 15 ) 180 - Tri_Y - Tri_Z rand( 2 ) rand( 3 )
Given the following angles:
  • \overline{AB} \perp \overline{CD}, lines AB and CD are perpendicular.
  • \color{green}{\angle{CGE}} = ACCUTEANGLE° \color{green}{\angle{AGF}} = 90 - ACCUTEANGLE° \color{green}{\angle{DGF}} = ACCUTEANGLE°
What is \color{blue}{\angle{AGF}} = {?} \color{blue}{\angle{CGE}} = {?} \color{blue}{\angle{BGE}} = {?}
init({ range: [[-6, 6], [-6, 6]], scale: [40, 40] }); style({ stroke: "#888", strokeWidth: 2 }); // Draw perpendicular lines and 3rd line. path( [ [-5, 0], [5, 0] ] ); path( [ [0, -5], [0, 5] ] ); path( [ [-2, -5], [2, 5] ] ); //draw points style({ fill: "grey" }, function() { circle( [5, 0], 0.05 ); circle( [-5, 0], 0.05 ); circle( [0, 5], 0.05 ); circle( [0, -5], 0.05 ); circle( [2, 5], 0.05 ); circle( [-2, -5], 0.05 ); }); // Label the sides label( [-5, 0], "A", "above" ); label( [5, 0], "B", "above" ); label( [0, 5], "C", "left" ); label( [0, -5], "D", "right" ); label( [2, 5], "E", "right" ); label( [-2, -5], "F", "left" ); label( [0, 0], "G", "below right" ); // Label the given angles if( RAND3 == 0 ) { label( [0.5, 1.8], "\\color{green}{ACCUTEANGLE°}", "above" ); arc( [0, 0], 1.2, 70, 90, { stroke: "green" } ); ORIGINAL_LABEL = label( [-1.2, -0.75], "\\color{blue}{\\angle{AGF}}= {?}", "below left" ); arc( [0, 0], 1.2, 180, 248, { stroke: "blue" } ); } else if ( RAND3 == 1 ) { label( [-1.2, -0.75], "\\color{green}{90-ACCUTEANGLE°}", "below left" ); arc( [0, 0], 1.2, 180, 248, { stroke: "green" } ); ORIGINAL_LABEL = label( [0.5, 1.8], "\\color{blue}{\\angle{CGE}} = {?}", "above" ); arc( [0, 0], 1.2, 70, 90, { stroke: "blue" } ); } else { label( [0, -2], "\\color{green}{ACCUTEANGLE°}", "below left" ); arc( [0, 0], 1.2, 248, 270, { stroke: "green" } ); ORIGINAL_LABEL = label( [1.5, 0], "\\color{blue}{\\angle{BGE}} = {?}", "above right" ); arc( [0, 0], 1.2, 0, 70, { stroke: "blue" } ); }

NOTE: Angles not necessarily drawn to scale.

90-ACCUTEANGLE ACCUTEANGLE

Because we know \overline{AB} \perp \overline{CD}, we know \color{purple}{\angle{CGB}} = 90° label( [2.2, 1.7], "\\color{purple}{90°}", "above right" ); arc( [0, 0], 3, 0, 90, { stroke: "purple" } );

\color{orange}{\angle{EGB}} = \color{green}{\angle{AGF}} = 90 - ACCUTEANGLE°, because they are opposite angles from each other. Opposite angles are congruent (equal). label( [1.2, 0], "\\color{orange}{90 - ACCUTEANGLE°}", "above right" ); arc( [0, 0], 1.2, 0, 68, { stroke: "orange" } );

Because we know \overline{AB} \perp \overline{CD}, we know \color{purple}{\angle{AGD}} = 90° label( [-2.2, -1.7], "\\color{purple}{90°}", "below left" ); arc( [0, 0], 3, 180, 270, { stroke: "purple" } );

\color{orange}{\angle{EGB}} = \color{purple}{90°} - \color{green}{\angle{CGE}} = 90 - ACCUTEANGLE° label( [1.2, 0], "\\color{orange}{90 - ACCUTEANGLE°}", "above right" ); arc( [0, 0], 1.2, 0, 68, { stroke: "orange" } );

Because we know \overline{AB} \perp \overline{CD}, we know \color{purple}{\angle{CGB}} = 90° label( [2.2, 1.7], "\\color{purple}{90°}", "above right" ); arc( [0, 0], 3, 0, 90, { stroke: "purple" } );

\color{orange}{\angle{AGF}} = \color{purple}{90°} - \color{green}{\angle{DGF}} = 90 - ACCUTEANGLE° label( [-1.2, 0], "\\color{orange}{90 - ACCUTEANGLE°}", "below left" ); arc( [0, 0], 1.2, 180, 248, { stroke: "orange" } );

\color{blue}{\angle{AGF}} = \color{orange}{\angle{EGB}} = 90 - ACCUTEANGLE°, because they are opposite from each other. Opposite angles are congruent (equal). ORIGINAL_LABEL.remove(); label( [-1.2, -0.75], "\\color{blue}{\\angle{AGF}}=90 - ACCUTEANGLE°", "below left" );

\color{blue}{\angle{CGE}} = \color{purple}{90°} - \color{orange}{\angle{EGB}} = ACCUTEANGLE° ORIGINAL_LABEL.remove(); label( [0.5, 1.8], "\\color{blue}{\\angle{CGE}} = ACCUTEANGLE°", "above" )

\color{blue}{\angle{BGE}} = \color{orange}{\angle{AGF}} = 90 - ACCUTEANGLE°, because they are opposite from each other. Opposite angles are congruent (equal). ORIGINAL_LABEL.remove(); label( [1.5, 0], "\\color{blue}{\\angle{BGE}} = 90 - ACCUTEANGLE°", "above right" );

Given the following:

  • \color{purple}{\angle{ABC}} = Tri_Z°
  • \color{green}{\angle{ACB}} = Tri_Y°

What is \color{blue}{\angle{DAB}}?

  • \color{purple}{\angle{ABC}} = Tri_Z°
  • \color{green}{\angle{DAB}} = 180 - Tri_X°

What is \color{blue}{\angle{ACB}}?

init({ range: [[-9, 6], [-3, 5]], scale: [40, 40] }); style({ stroke: "#888", strokeWidth: 2 }); // Draw TriAngle path( [ [-8, -2], [4, -2], [0, 3], [-4, -2] ] ); //draw points style( { fill: "grey" }, function() { circle( [-8, -2], 0.05 ); circle( [4, -2], 0.05 ); circle( [0, 3], 0.05 ); circle( [-4, -2], 0.05 ); }); // Label the sides label( [-4, -2], "A", "below" ); label( [0, 3], "B", "above" ); label( [4, -2], "C", "below right" ); label( [-8, -2], "D", "below" ); // Label the angles acording to variation if( RAND2 == 0 ) { label( [3, -2], "\\color{green}{Tri_Y°}", "above left" ); arc( [4, -2], 1.2, 130, 180, { stroke: "green" } ); label( [0, 1.5], "\\color{purple}{Tri_Z°}", "below" ); arc( [0, 3], 1.5, 230, 310, { stroke: "purple" } ); ORIGINAL_LABEL = label( [-4.7, -2], "\\color{blue}{\\angle{DAB}}= {?}", "above left" ); arc( [-4, -2], .75, 50, 180, { stroke: "blue" } ); } else { label( [-4.7, -2], "\\color{green}{180 - Tri_X°}", "above left" ); arc( [-4, -2], .75, 50, 180, { stroke: "green" } ); label( [0, 1.5], "\\color{purple}{Tri_Z°}", "below" ); arc( [0, 3], 1.5, 230, 310, { stroke: "purple" } ); ORIGINAL_LABEL = label( [2.80, -2], "\\color{blue}{\\angle{ACB}} = {?}", "above left" ); arc( [4, -2], 1.2, 130, 180, { stroke: "blue" } ); }

NOTE: Angles not necessarily drawn to scale.

Tri_Y + Tri_Z Tri_Y

\color{orange}{\angle{BAC}} = 180° - \color{purple}{\angle{ABC}} - \color{green}{\angle{ACB}} = 180 - Tri_Y - Tri_Z° , This is because angles inside a triangle add up to 180 degrees. label( [-3.3, -2], "\\color{orange}{Tri_X°}", "above right" ); arc( [-4, -2], 0.75, 0, 49, {stroke: "orange"} );

\color{orange}{\angle{BAC}} = 180° - \color{green}{\angle{DAB}} = 180 - Tri_Y - Tri_X° , because supplementary angles along a line add up to 180 degrees. label( [-3.3, -2], "\\color{orange}{Tri_X°}", "above right" ); arc( [-4, -2], 0.75, 0, 49, {stroke: "orange"} );

\color{blue}{\angle{DAB}} = 180° - \color{orange}{\angle{BAC}} = Tri_Y + Tri_Z° , because supplementary angles along a line add up to 180° ORIGINAL_LABEL.remove(); label( [-4.7, -2], "\\color{blue}{\\angle{DAB}} = Tri_Y + Tri_Z°", "above left" );

\color{blue}{\angle{ACB}} = 180° - \color{orange}{\angle{BAC}} - \color{purple}{\angle{ABC}} = Tri_Y° , because angles inside a triangle add up to 180°. ORIGINAL_LABEL.remove(); label( [2.80, -2], "\\color{blue}{\\angle{ACB}} = Tri_Y°", "above left" );

Given the following:
  • \overline{HI} \parallel \overline{JK}, lines HI and JK are parallel.
  • \color{purple}{\angle{BAC}} = Tri_X°
  • \color{purple}{\angle{AKJ}} = Tri_Y°
  • \color{green}{\angle{AJK}} = Tri_Z°
  • \color{green}{\angle{AHI}} = Tri_Z°
What is \color{blue}{\angle{AIH}} = {?} \color{blue}{\angle{AKJ}} = {?} \color{blue}{\angle{BAC}} = {?}
init( { range: [[-9, 9.5], [-5.7, 8]], scale: [30, 30] }); style( { stroke: "#888", strokeWidth: 2 } ); // Draw Parallel lines path( [ [-7.32, 7.5], [8, -4] ] ); path( [ [-8, 4], [4.03, -5] ] ); // Draw 2 more lines to form a triangle path( [ [-6, -4], [-4.24, 7.5] ] ); path( [ [-6, -4], [9, -2] ] ); //draw points style( { fill: "grey" }, function() { circle( [-7.32, 7.5], 0.05 ); circle( [8, -4], 0.05 ); circle( [-8, 4], 0.05 ); circle( [4.03, -5], 0.05 ); label( [-6, -4], "A", "below" ); circle( [-6, -4], 0.05 ); label( [-4.24, 7.5], "B", "right" ); circle( [-4.24, 7.5], 0.05 ); label( [9, -2], "C", "above" ); circle( [9, -2], 0.05 ); label( [-5.07, 1.75], "H", "below left" ); label( [-4.47, 5.25], "J", "above right" ); label( [1.25, -3], "I", "below" ); label( [5.7, -2.3], "K", "above" ); } ); //draw given angles if( RAND3 == 0 ) { ORIGINAL_LABEL = label( [0, -2.50], "\\color{blue}{\\angle{AIH}} = {?}", "left" ); arc( [1.25, -3], .75, 135, 190, {stroke: "blue"} ); label( [-4.2, 4.25], "\\color{green}{Tri_Z°}", "below" ); arc( [-4.47, 5.25], 1, 255, 330, {stroke: "green"} ); label( [-5.5, -3.5], "\\color{purple}{Tri_X°}", "above right" ); arc( [-6, -4], 1, 10, 80, {stroke: "purple"} ); } else if( RAND3 == 1 ) { ORIGINAL_LABEL = label( [3.5, -2.6], "\\color{blue}{\\angle{AKJ}} = {?}", "above" ); arc( [5.7, -2.3], 0.75, 139, 194, {stroke: "blue"} ); label( [-4.4, 0.65], "\\color{green}{Tri_Z°}", "below" ); arc( [-5.07, 1.75], 1, 257, 326, {stroke: "green"} ); label( [-5.5, -3.5], "\\color{purple}{Tri_X°}", "above right" ); arc( [-6, -4], 1, 10, 80, {stroke: "purple"} ); } else { ORIGINAL_LABEL = label( [-5.5, -3.5], "\\color{blue}{\\angle{BAC}} = {?}", "above right" ); arc( [-6, -4], 1, 10, 80, {stroke: "blue"} ); label( [4.1, -2.6], "\\color{purple}{Tri_Y°}", "above" ); arc( [5.7, -2.3], 0.75, 139, 194, {stroke: "purple"} ); label( [-4.4, 0.65], "\\color{green}{Tri_Z°}", "below" ); arc( [-5.07, 1.75], 1, 257, 326, {stroke: "green"} ); }

NOTE: Angles not necessarily drawn to scale.

Tri_Y Tri_X

\color{orange}{\angle{AHI}} = \color{green}{\angle{AJK}}, because they are corresponding angles formed by 2 parallel lines and a transversal line. Corresponding angles are congruent (equal). label( [-4.60, 0.75], "\\color{orange}{Tri_Z°}", "below" ); arc( [-5.07, 1.75], 1, 260, 325, {stroke: "orange"} );

\color{orange}{\angle{AJK}} = \color{green}{\angle{AHI}}, because they are corresponding angles formed by 2 parallel lines and a transversal line. Corresponding angles are congruent (equal). label( [-4.00, 4.25], "\\color{orange}{Tri_Z°}", "below" ); arc( [-4.47, 5.25], 1, 257, 325, {stroke: "orange"} );

\color{blue}{\angle{AIH}} = 180° - \color{orange}{\angle{AHI}} - \color{purple}{\angle{BAC}} = 180 - Tri_X - Tri_Z° , because the 3 angles are contained in \triangle{AHI}. Angles inside a triangle add up to 180°. ORIGINAL_LABEL.remove(); label( [0, -2.50], "\\color{blue}{\\angle{AIH}} = 180 - Tri_X - Tri_Z°", "left" );

ORIGINAL_LABEL.remove(); if ( RAND3 === 1 ) { label( [3.3, -2.6], "\\color{blue}{\\angle{AKJ}} = Tri_Y°", "above" ); } else { label( [-5.5, -3.5], "\\color{blue}{\\angle{BAC}} = Tri_X°", "above right" ); } \color{blue}{\angle{AKJ}} = 180° - \color{orange}{\angle{AJK}} - \color{purple}{\angle{BAC}} = Tri_Y° \color{blue}{\angle{BAC}} = 180° - \color{orange}{\angle{AJK}} - \color{purple}{\angle{AKJ}} = Tri_X° , because the 3 angles are contained in \triangle{AJK}. Angles inside a triangle add up to 180°.

Given the following:
  • \overline{DE} \parallel \overline{FG}, lines DE and FG are parallel.
  • \overline{KL} \perp \overline{DE}, Lines KL and DE are perpendicular.
  • \color{green}{\angle{GCJ}} = Tri_Y°
  • \color{green}{\angle{IAK}} = Tri_Y°
What is \color{blue}{\angle{IAK}} = {?} \color{blue}{\angle{GCJ}} = {?}
init( { range: [[-6, 8], [-5, 5]], scale: [50, 50] } ); style( { stroke: "#888", strokeWidth: 2 } ); // Draw Parallel lines path( [ [-5, 2], [7, 2] ] ); path( [ [-5, -2], [7, -2] ] ); // Perpendicular line path([ [0, 4], [0, -4] ]); // Transversal line path( [ [-2, 4], [6, -4] ]); // Label Points label( [-5, 2], "D", "above left" ); label( [7, 2], "E", "above right" ); label( [-5, -2], "F", "above left" ); label( [7, -2], "G", "above right" ); label( [-2, 4], "I", "above left" ); label( [6, -4], "J", "above right" ); label( [0, 4], "K", "above right" ); label( [0, -4], "L", "below right" ); label( [0, 2], "A", "below left" ); label( [0, -2], "B", "above left" ); label( [4, -2], "C", "above right" ); // Label given angles if( RAND2 == 0 ) { ORIGINAL_LABEL = label( [0, 3.5], "\\color{blue}{\\angle{IAK}} = {?}", "above left" ); arc( [0, 2], 1, 90, 135, {stroke:"blue"} ); label( [4.75, -2], "\\color{green}{Tri_Y°}", "below right" ); arc( [4, -2], .75, 315, 360, {stroke: "green"} ); } else { label( [0, 3], "\\color{green}{Tri_Y°}", "above left" ); arc( [0, 2], 1, 90, 135, {stroke:"green"} ); ORIGINAL_LABEL = label( [4.75, -2], "\\color{blue}{\\angle{GCJ} = {?}}", "below right" ); arc( [4, -2], .75, 315, 360, {stroke: "blue"} ) }

NOTE: Angles not necessarily drawn to scale.

90 - Tri_Y

\color{orange}{\angle{DAI}} = \color{green}{\angle{GCJ}} = Tri_Y°, because they are alternate exterior angles, formed by 2 parallel lines and a transversal line, they are congruent (equal). label( [-.80, 2], "\\color{orange}{Tri_Y°}", "above left" ); arc( [0, 2], 1, 135, 180, {stroke: "orange"} ); Alternatively, you can pair up using opposite angles and alternate interior angles to achieve the same result (as seen using \color{pink}{pink}). label( [1, 2], "\\color{pink}{Tri_Y°}", "below right" ); arc( [0, 2], 1, 315, 360, {stroke: "pink"} ); label( [3, -2], "\\color{pink}{Tri_Y°}", "above left" ); arc( [4, -2], 1, 135, 180, {stroke: "pink"} );

\color{purple}{\angle{DAK}} = 90°, because angles formed by perpendicular lines are equal to 90°. label( [-1.68, 2], "\\color{purple}{90°}", "above left" ); arc( [0, 2], 1.65, 90, 180, {stroke: "purple"} );

\color{blue}{\angle{IAK}} = 90° - \color{orange}{\angle{DAI}} = 90 - Tri_Y°, because angles \color{blue}{\angle{IAK}} and \color{orange}{\angle{DAI}} make up angle \color{purple}{\angle{DAK}}. ORIGINAL_LABEL.remove(); label( [0, 3.5], "\\color{blue}{\\angle{IAK}} = 90 - Tri_Y°", "above left" );

\color{orange}{\angle{IAK}} = 90° - \color{green}{\angle{IAK}} = 90 - Tri_Y°, because angles \color{green}{\angle{IAK}} and \color{orange}{\angle{DAI}}, make up angle \color{purple}{\angle{DAK}}. label( [-.80, 2], "\\color{orange}{90-Tri_Y°}", "above left" ); arc( [0, 2], 1, 135, 180, {stroke: "orange"} );

\color{blue}{\angle{GCJ}} = \color{orange}{\angle{DAI}} = 90 - Tri_Y°, because they are alternate exterior angles formed by 2 parallel lines and a transversal line, they are congruent (equal). Alternatively, you can pair up using opposite angles and alternate interior angles to achieve the same result (as seen using \color{pink}{pink}). label( [1, 2], "\\color{pink}{90-Tri_Y°}", "below right" ); arc( [0, 2], 1, 315, 360, {stroke: "pink"} ); label( [3, -2], "\\color{pink}{90-Tri_Y°}", "above left" ); arc( [4, -2], 1, 135, 180, {stroke: "pink"} ); ORIGINAL_LABEL.remove(); label( [4.75, -2], "\\color{blue}{\\angle{GCJ} = 90-Tri_Y°}", "below right" );