randomTriangleAngles.triangle()
[[0, 1], []]
[[1], [2]]
function(){
var trA = new Triangle([5, -8], ANGLES, 14, {});
trA.boxOut([[[0, -10], [0, 10]]], [0.4, 0]);
trA.boxOut([[[11, -10], [11, 10]]], [-0.4, 0]);
trA.color = "blue";
return trA;
}()
function(){
var pointD = findIntersection(bisectAngle(TR_A.sides[0],
reverseLine(TR_A.sides[2]), 1), TR_A.sides[1]);
return pointD;
}()
function(){
var trB = new Triangle([0, 0], [], 3, {}, [TR_A.points[0], TR_A.points[1], POINT_D]);
trB.labels = {
"sides" : mergeArray( clearArray( trB.niceSideLengths, SIDES_B[ 0 ] ),
clearArray( [ "?", "?", "?" ], SIDES_B[ 1 ] ) ),
"points": [ "A", "B", "D" ]
};
return trB;
}()
function(){
var trC = new Triangle( [0,0], [], 3, {}, [ TR_A.points[ 0 ], POINT_D, TR_A.points[ 2 ] ] );
trC.labels = {
"angles" : clearArray( trC.niceAngles, [] ),
"sides" : mergeArray( clearArray( trC.niceSideLengths, SIDES_C[ 0 ] ),
clearArray( [ "?", "?", "?" ], SIDES_C[ 1 ] ) ),
"points": [ "", "", "C" ]
};
return trC;
}()
TR_B.niceSideLengths[ 1 ]
TR_B.niceSideLengths[ 0 ]
TR_C.niceSideLengths[ 1 ]
TR_C.niceSideLengths[ 2 ]
TR_B.niceSideLengths[ 1 ]
TR_B.niceSideLengths[ 0 ]
TR_C.niceSideLengths[ 1 ]
TR_C.niceSideLengths[ 2 ]
TR_C.niceSideLengths[ 0 ]
var aBounding = TR_A.boundingRange(1);
var bBounding = TR_D.boundingRange(1);
var minX = Math.min(aBounding[0][0], bBounding[0][0]);
var maxX = Math.max(aBounding[0][1], bBounding[0][1]);
var minY = Math.min(aBounding[1][0], bBounding[1][0]);
var maxY = Math.max(aBounding[1][1], bBounding[1][1]);
init({ range: [[minX, maxX], [minY, maxY]] })
// draw an arc representing congruent angles BAD, CAD
style({ stroke: GREEN });
var angle_mod = ((180 - TR_A.angles[0]) / 135) + 0.2;
arc(TR_A.points[0], angle_mod, 0, TR_A.angles[0]);
line([(angle_mod - 0.1) * cos(3 * TR_A.angles[0] / 4 * PI / 180) + TR_A.points[0][0],
(angle_mod - 0.1) * sin(3 * TR_A.angles[0] / 4 * PI / 180) + TR_A.points[0][1]], [
(angle_mod + 0.1) * cos(3 * TR_A.angles[0] / 4 * PI / 180) + TR_A.points[0][0],
(angle_mod + 0.1) * sin(3 * TR_A.angles[0] / 4 * PI / 180) + TR_A.points[0][1]]);
line([(angle_mod - 0.1) * cos(TR_A.angles[0] / 4 * PI / 180) + TR_A.points[0][0],
(angle_mod - 0.1) * sin(TR_A.angles[0] / 4 * PI / 180) + TR_A.points[0][1]], [
(angle_mod + 0.1) * cos(TR_A.angles[0] / 4 * PI / 180) + TR_A.points[0][0],
(angle_mod + 0.1) * sin(TR_A.angles[0] / 4 * PI / 180) + TR_A.points[0][1]]);
style({ stroke: "black" });
TR_B.draw();
TR_B.drawLabels();
TR_C.draw();
TR_C.drawLabels();
// draw a pink line over the line segment in question
line(QUESTION_POINT_Q, QUESTION_POINT_R, { stroke: PINK, strokeWidth: 3 });
roundTo(1, TEMP_AB * TEMP_CD / TEMP_BD)
TR_A.points[0]
TR_A.points[2]
function(){
var pA = TR_A.points[0];
var pD = POINT_D;
var pointE = [(pD[0] + (pD[0] - pA[0]) * (BD / CD)), (pD[1] + (pD[1] - pA[1]) * (BD / CD))];
return pointE;
}()
function(){
var trD = new Triangle([0, 0], [], 3, {}, [POINT_D, TR_A.points[1], POINT_E]);
trD.labels = { "points": ["", "", "E"] };
return trD;
}()
What is the length of side AC? (Round to 1 decimal place)
AC
There aren't any similar triangles in the problem figure, but we can make
a new triangle with a few lines.
1. Draw a line parallel to the line
\pink{AC}, through the point B.
2. Extend the line AD out
to meet it at a new point E.
style({ stroke: "purple" });
TR_D.draw();
TR_D.drawLabels();
Now we have a very useful triangle \triangle BDE
which is similar to \triangle ACD.
Since \pink{AC} and BE are parallel, we
know that \angle CAE
is congruent to \angle AEB.
style({ stroke: GREEN });
var angle_mod_d = ((180 - TR_D.angles[2]) / 180) + 0.2;
arc(TR_D.points[2], angle_mod_d, 180 + TR_D.angles[2], 180 + TR_D.angles[2] * 2);
line([(angle_mod_d - 0.1) * cos((180 + TR_D.angles[2] * 1.5) * PI/180) + TR_D.points[2][0],
(angle_mod_d - 0.1) * sin((180 + TR_D.angles[2] * 1.5) * PI/180) + TR_D.points[2][1]],
[(angle_mod_d + 0.1) * cos((180 + TR_D.angles[2] * 1.5) * PI/180) + TR_D.points[2][0],
(angle_mod_d + 0.1) * sin((180 + TR_D.angles[2] * 1.5) * PI/180) + TR_D.points[2][1]]);
We can now tell that \text{m}\angle BAE
is equal to \text{m}\angle AEB.
Meaning \triangle ABE is isosceles, and we know the length
of BE.
line(TR_A.points[0], TR_A.points[1], { stroke: BLUE, strokeWidth: 3 });
line(TR_A.points[1], POINT_E, { stroke: BLUE, strokeWidth: 3 });
TR_D.labels = { "sides": ["", AB, ""] };
TR_D.drawLabels();
\dfrac{AB}{BD} = \dfrac{\pink{AC}}{CD}
\pink{AC} = \dfrac{AB \cdot CD}{BD}
\pink{AC} = AC
roundTo(1, TEMP_AC * TEMP_BD / TEMP_CD)
[[1], [0]]
[[1, 2], []]
TR_A.points[0]
TR_A.points[1]
function(){
var pA = TR_A.points[0];
var pD = POINT_D;
var pointE = [(pD[0] + (pD[0] - pA[0]) * (CD / BD)), (pD[1] + (pD[1] - pA[1]) * (CD / BD))];
return pointE;
}()
function(){
var trD = new Triangle([0, 0], [], 3, {}, [POINT_D, TR_A.points[2], POINT_E]);
trD.labels = { "points": ["", "", "E"] };
return trD;
}()
What is the length of side AB? (Round to 1 decimal place)
AB
There aren't any similar triangles in the problem figure, but we can make
a new triangle with a few lines.
1. Draw a line parallel to the line
\pink{AB}, through the point C.
2. Extend the line AD out
to meet it at a new point E.
style({ stroke: "purple" });
TR_D.draw();
TR_D.drawLabels();
Now we have a very useful triangle \triangle CDE
which is similar to \triangle ABD.
Since \pink{AB} and CE are parallel, we
know that \angle BAE
is congruent to \angle AEB.
style({ stroke: GREEN });
var angle_mod_d = ((180 - TR_D.angles[2]) / 180) + 0.2;
arc(TR_D.points[2], angle_mod_d, 180, 180 + TR_D.angles[2]);
line([(angle_mod_d - 0.1) * cos((180 + TR_D.angles[2] / 2) * PI/180) + TR_D.points[2][0],
(angle_mod_d - 0.1) * sin((180 + TR_D.angles[2] / 2) * PI/180) + TR_D.points[2][1]],
[(angle_mod_d + 0.1) * cos((180 + TR_D.angles[2] / 2) * PI/180) + TR_D.points[2][0],
(angle_mod_d + 0.1) * sin((180 + TR_D.angles[2] / 2) * PI/180) + TR_D.points[2][1]]);
We can now tell that \text{m}\angle CAE
is equal to \text{m}\angle AEC.
Meaning \triangle ACE is isosceles, and we know the length
of \blue{CE}.
line(TR_A.points[0], TR_A.points[2], { stroke: BLUE, strokeWidth: 3 });
line(TR_A.points[2], POINT_E, { stroke: BLUE, strokeWidth: 3 });
TR_D.labels = { "sides": ["", "", AC] };
TR_D.drawLabels();
\dfrac{\pink{AB}}{BD} = \dfrac{AC}{CD}
\pink{AB} = \dfrac{ AC \cdot BD }{ CD }
\pink{AB} = AB
roundTo(1, TEMP_AC * TEMP_BD / TEMP_AB)
[[1, 0], []]
[[2], [1]]
TR_A.points[2]
POINT_D
function(){
var pA = TR_A.points[0];
var pD = POINT_D;
var pointE = [(pD[0] + (pD[0] - pA[0]) * (CD / BD)), (pD[1] + (pD[1] - pA[1]) * (CD / BD))];
return pointE;
}()
function(){
var trD = new Triangle([0,0], [], 3, {}, [POINT_D, TR_A.points[2], POINT_E]);
trD.labels = { "points": ["", "", "E"] };
return trD;
}()
What is the length of side CD? (Round to 1 decimal place)
CD
There aren't any similar triangles in the problem figure, but we can make
a new triangle with a few lines.
1. Draw a line parallel to the line
AB, through the point C.
2. Extend the line AD out
to meet it at a new point E.
style({ stroke: "purple" });
TR_D.draw();
TR_D.drawLabels();
// redraw the pink line for the problem
line(QUESTION_POINT_Q, QUESTION_POINT_R, { stroke: PINK, strokeWidth: 3 });
Now we have a very useful triangle \triangle CDE
which is similar to \triangle ABD.
Since AB and CE are parallel, we know that
\angle BAE
is congruent to \angle AEC.
style({ stroke: GREEN });
var angle_mod_d = ((180 - TR_D.angles[2]) / 180) + 0.2;
arc( TR_D.points[2], angle_mod_d, 180, 180 + TR_D.angles[2] );
line([(angle_mod_d - 0.1) * cos((180 + TR_D.angles[2] / 2) * PI/180) + TR_D.points[2][0],
(angle_mod_d - 0.1) * sin((180 + TR_D.angles[2] / 2) * PI/180) + TR_D.points[2][1]],
[(angle_mod_d + 0.1) * cos((180 + TR_D.angles[2] / 2) * PI/180) + TR_D.points[2][0],
(angle_mod_d + 0.1) * sin((180 + TR_D.angles[2] / 2) * PI/180) + TR_D.points[2][1]]);
We can now see that \text{m}\angle CAE
is equal to \text{m}\angle AEC.
Meaning \triangle ACE is isosceles, and we know the length
of \blue{CE}.
line(TR_A.points[0], TR_A.points[2], { stroke: BLUE, strokeWidth: 3 });
line(TR_A.points[2], POINT_E, { stroke: BLUE, strokeWidth: 3 });
TR_D.labels = { "sides": ["", AC, ""] };
TR_D.drawLabels();
\dfrac{ AB}{BD} = \dfrac{AC}{\pink{CD}}
\pink{CD} = \dfrac{AC \cdot BD}{AB}
\pink{CD} = CD
roundTo(1, TEMP_AB * TEMP_CD / TEMP_AC)
[[0], [1]]
[[1, 2], []]
TR_A.points[1]
POINT_D
function(){
var pA = TR_A.points[0];
var pD = POINT_D;
var pointE = [(pD[0] + (pD[0] - pA[0]) * (BD / CD)), (pD[1] + (pD[1] - pA[1]) * (BD / CD))];
return pointE;
}()
function(){
var trD = new Triangle([0,0], [], 3, {}, [POINT_D, TR_A.points[1], POINT_E]);
trD.labels = { "points": ["", "", "E"] };
return trD;
}()
What is the length of the side BD? (Round to 1 decimal place).
BD
There aren't any similar triangles in the problem figure, but we can make
a new triangle with a few lines.
1. Draw a line parallel to the line
AC, through the point B.
2. Extend the line AD out
to meet it at a new point E.
style({ stroke: "purple" });
TR_D.draw();
TR_D.drawLabels();
line(QUESTION_POINT_Q, QUESTION_POINT_R, { stroke: PINK, strokeWidth: 3 });
Now we have a very useful triangle \triangle BDE
which is similar to \triangle ACD.
Since AC and BE are parallel, we know that
\angle CAE
is congruent to \angle AEB.
style({ stroke: GREEN });
var angle_mod_d = ((180 - TR_D.angles[2]) / 180) + 0.2;
arc(TR_D.points[2], angle_mod_d, 180 + TR_D.angles[2], 180 + TR_D.angles[2] * 2);
line([(angle_mod_d - 0.1) * cos((180 + TR_D.angles[2] * 1.5) * PI/180) + TR_D.points[2][0],
(angle_mod_d - 0.1) * sin((180 + TR_D.angles[2] * 1.5) * PI/180) + TR_D.points[2][1]],
[(angle_mod_d + 0.1) * cos((180 + TR_D.angles[2] * 1.5) * PI/180) + TR_D.points[2][0],
(angle_mod_d + 0.1) * sin((180 + TR_D.angles[2] * 1.5) * PI/180) + TR_D.points[2][1]]);
We can now tell that \text{m}\angle BAE
is equal to \text{m}\angle AEB.
Meaning \triangle ABE is isosceles, and we know the length
of \blue{BE}.
line(TR_A.points[0], TR_A.points[1], { stroke: BLUE, strokeWidth: 3 });
line(TR_A.points[1], POINT_E, { stroke: BLUE, strokeWidth: 3 });
TR_D.labels = { "sides": ["", AB, ""] };
TR_D.drawLabels();
\dfrac{AB}{\pink{BD}} = \dfrac{AC}{CD}
\pink{BD} = \dfrac{AB \cdot CD}{AC}
\pink{BD} = BD