Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

188 lines (181 sloc) 9.438 kb
<!DOCTYPE html>
<html data-require="math graphie graphie-helpers graphie-geometry math-format"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Congruent triangles 2</title>
<script src="../khan-exercise.js"></script>
</head>
<body>
<div class="exercise">
<div class="problem">
What is the value of the angle x?
</div>
<div class="vars">
<var id="RAND_ANG">randRange( 0, 2 )</var>
<var id="NEW_ANG">""</var>
<var id="ANGLE_LABELS">[ "CAB", "ABC", "BCA" ]</var>
<var id="ANG_FIRST">""</var>
<var id="ANG_LEFT">""</var>
<var id="ANGLES">randomTriangleAngles.triangle()</var>
<var id="ANG">""</var>
<var id="ANGLES_A">[ RAND_ANG ]</var>
<var id="ANGLES_B">clearArray( [ "x", "x", "x" ], [ RAND_ANG ] )</var>
<var id="FOO"> clearArray( [ "x", "x", "x" ], [ RAND_ANG ] )</var>
<var id="SIDES_A">[ 0, 2 ]</var>
<var id="SIDES_B">[ 0, 2 ]</var>
<var id="TR_A">
function(){
var trA = new Triangle( [ 3, -5 ], ANGLES ,6, {} );
trA.labels = { "points" : [ "A", "B", "C" ], "sides" : clearArray( trA.niceSideLengths, SIDES_A ), "angles" : clearArray( trA.niceAngles, ANGLES_A ) };
return trA;
}()
</var>
<var id="TR_B">
function(){
var trB = new Triangle( [ TR_A.centroid[ 0 ], TR_A.centroid[ 1 ] ], ANGLES, 6, {} );
trB.rotate( 180 );
trB.labels = { "points" : [ "D", "", "" ], "sides" : clearArray( trB.niceSideLengths, SIDES_B ),"angles" : ANGLES_B };
return trB;
}()
</var>
<var id="ANSWER">ANGLES[ RAND_ANG ]</var>
</div>
<div class="question">
<div class="graphie" id="triangle">
init({
range: [ [-1, 15 ], [ -7, 2.5 ] ],
scale: 31
})
TR_A.draw();
TR_A.drawLabels();
TR_B.draw();
TR_B.drawLabels();
</div>
</div>
<div class="solution"><var>ANSWER</var></div>
<div class="problems">
<div id="parr">
<div class="vars">
<var id="ANG_FIRST">randRangeUnique( 0, 2, 2 )</var>
<var id="ANG_LEFT">randFromArray( ANG_FIRST )</var>
<var id="ANGLES_A">ANG_FIRST</var>
<var id="ANGLES_B">clearArray( [ "x", "x", "x" ], [ ANG_LEFT ] )</var>
<var id="ANSWER">TR_B.angles[ ANG_LEFT ]</var>
</div>
<div class="hints">
<p>These two triangles have three sides equal (they share one of them).</p>
<p>Therefore they are congruent.</p>
<p>Congruent triangles also have congruent (equal) angles.</p>
<p>If we superimpose these two triangles, by rotating triangle ABC, we see that angle x corresponds to angle <var>ANGLE_LABELS[ ANG_LEFT ]</var></p>
<p>Angle x is therefore equal to <var>ANSWER</var>.</p>
</div>
</div>
<div id="parr2">
<div class="vars">
<var id="ANG_FIRST">randRangeUnique( 0, 2, 2 )</var>
<var id="ANG_LEFT">randRangeExclude( 0, 2, ANG_FIRST )</var>
<var id="ANGLES_A">ANG_FIRST</var>
<var id="ANGLES_B">clearArray( [ "x", "x", "x" ], [ ANG_LEFT ] )</var>
</div>
<div class="solution"><var>TR_B.angles[ ANG_LEFT ]</var></div>
<div class="hints">
<p>These two triangles have three sides equal (they share one of them).</p>
<p>Therefore they are congruent.</p>
<p>Congruent triangles also have congruent (equal) angles.</p>
<p>If we superimpose these two triangles, by rotating triangle ABC, we see that angle x corresponds to angle <var>ANGLE_LABELS[ ANG_LEFT ]</var>.</p>
<p><code><var>ANGLE_LABELS[ ANG_LEFT ]</var> = 180 - <var>TR_A.angles[ ANG_FIRST[ 0 ] ]</var> - <var>TR_A.angles[ ANG_FIRST[ 1 ] ]</var></code></p>
<div>
<p><code><var>ANGLE_LABELS[ ANG_LEFT ]</var> = x = <var>TR_B.angles[ ANG_LEFT ]</var></code></p>
<div class="graphie" data-update="triangle">
TR_A.labels.angles = TR_A.niceAngles;
TR_A.drawLabels();
</div>
</div>
</div>
</div>
<div id="opposite">
<div class="vars">
<var id="NEW_ANG">
function(){
var newAng = RAND_ANG;
if ( RAND_ANG === 0 ){
newAng = 1;
}
else if ( RAND_ANG === 1 ){
newAng = 0;
}
return newAng;
}()
</var>
<var id="SIDES_B">[ 0, 1 ]</var>
<var id="ANG_FIRST">randRangeUnique( 0, 2, 2 )</var>
<var id="ANG_LEFT">randRange( 0, 2 )</var>
<var id="SHOW_ANGLE">
function(){
if ( ANG_LEFT === 1 ){
return 0;
}
if ( ANG_LEFT === 0 ){
return 1;
}
return 2;
}()
</var>
<var id="SAME_ANGLE">( $.inArray( SHOW_ANGLE, ANG_FIRST ) !== -1 )</var>
<var id="ANGLES_A">ANG_FIRST</var>
<var id="ANGLES_B">clearArray( [ "x", "x", "x" ], [ ANG_LEFT ] )</var>
<var id="ANG">ANGLES[ 0 ] / 2</var>
<var id="TR_A">
function(){
var trA = new Triangle( [ 7, -3 ], ANGLES ,6, {} );
trA.rotationCenter = trA.points[ 0 ];
trA.rotate( ANG );
trA.labels = { "points" : [ "", "B", "C" ], "sides" : clearArray( trA.niceSideLengths, SIDES_A ), "angles" : clearArray( trA.niceAngles, ANGLES_A ) };
return trA;
}()
</var>
<var id="TR_B">
function(){
var trB = new Triangle( [ 7 - cos( ANG * PI / 180 ) * TR_A.sideLengths[ 0 ], -3 - sin( ANG * PI / 180 ) * TR_A.sideLengths[ 0 ] ], [ ANGLES[ 1 ], ANGLES[ 0 ], ANGLES[ 2 ] ] , 6, {} );
trB.rotationCenter = trB.points[ 0 ];
trB.rotate( -ANG );
trB.labels = { "points" : [ "D", "", "E" ], "sides" : clearArray( trB.niceSideLengths, SIDES_B ), "angles" : ANGLES_B };
return trB;
}()
</var>
<var id="ANSWER">TR_B.angles[ ANG_LEFT ]</var>
</div>
<div class="question">
<div class="graphie" id="oppTriangle">
init({
range: [ [-1, 15 ], [ -7, 2.5 ] ],
scale: 32
})
TR_A.draw();
TR_A.drawLabels();
TR_B.draw();
TR_B.drawLabels();
label( TR_B.points[ 1 ], "A", "above" );
</div>
</div>
<div class="solution"><var>ANSWER</var></div>
<div class="hints">
<p>These two triangles have two sides and an angle equal.</p>
<p>Therefore they are congruent.</p>
<p>Congruent triangles also have congruent (equal) angles.</p>
<p>If we superimpose these two triangles, by flipping triangle <code>EDA</code>, we see that angle x corresponds to angle <var>ANGLE_LABELS[ SHOW_ANGLE ]</var></p>
<div data-if="! SAME_ANGLE">
<p><code><var>ANGLE_LABELS[ SHOW_ANGLE ]</var> = 180 - <var>TR_A.angles[ ANG_FIRST[ 0 ] ]</var> - <var>TR_A.angles[ ANG_FIRST[ 1 ] ]</var></code></p>
<div>
<p><code><var>ANGLE_LABELS[ SHOW_ANGLE ]</var> = x = <var>TR_B.angles[ ANG_LEFT ]</var></code></p>
<div class="graphie" data-update="oppTriangle">
TR_A.labels.angles = TR_A.niceAngles;
TR_A.drawLabels();
</div>
</div>
</div>
<p>Angle x is therefore equal to <var>ANSWER</var></p>
</div>
</div>
</div>
</div>
</body></html>
Jump to Line
Something went wrong with that request. Please try again.