Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

189 lines (182 sloc) 9.357 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="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, 3, 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, 3, 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, 3, 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.