randRange(1, 10) HEIGHT_A + randRange(1, 20) randRange(1, 10) SIDE_B * HEIGHT_A / (HEIGHT_B - HEIGHT_A) ["x", HEIGHT_A, SIDE_B, HEIGHT_B] atan(HEIGHT_A / SIDE_A) * 180 / PI new Triangle([0, 0], [ANGLE, 90, 90 - ANGLE], 50 * (SIDE_A / (SIDE_A + SIDE_B)) * HEIGHT_A / HEIGHT_B, {}) function(){ var trA = new Triangle([0, 0], [ANGLE, 90, 90 - ANGLE], 50, {}); trA.labels = { "points" : ["A", "D", "E"] }; return trA; }()
SIDE_A

\overline{AB} : \overline{BC} = \dfrac{x}{HEIGHT_A}

\overline{AD} : \overline{DE} = \dfrac{x + SIDE_B}{HEIGHT_B}

\dfrac{x}{HEIGHT_A} = \dfrac{x + SIDE_B}{HEIGHT_B}

HEIGHT_Bx = HEIGHT_A(x + SIDE_B) x + SIDE_B

HEIGHT_Bx = HEIGHT_Ax + HEIGHT_A * SIDE_B

plus(HEIGHT_B - HEIGHT_A + "x") = HEIGHT_A * SIDE_B

x = fractionReduce(HEIGHT_A * SIDE_B, HEIGHT_B - HEIGHT_A)

randRange(1, 10) randRange(1, 10) randRange(1, SIDE_A + SIDE_B) HEIGHT_B * SIDE_A / (SIDE_A + SIDE_B) [SIDE_A, "x", SIDE_B, HEIGHT_B] atan(HEIGHT_A / SIDE_A) * 180 / PI new Triangle([0, 0], [ANGLE, 90, 90 - ANGLE], 50 * (SIDE_A / (SIDE_A + SIDE_B)) * HEIGHT_A / HEIGHT_B, {}) function(){ var trA = new Triangle([0, 0], [ANGLE, 90, 90 - ANGLE], 50, {}); trA.labels = { "points" : ["A", "D", "E"] }; return trA; }()
HEIGHT_A

\overline{AB} : \overline{BC} = \dfrac{SIDE_A}{x}

\overline{AD} : \overline{DE} = \dfrac{SIDE_A + SIDE_B}{HEIGHT_B} = fraction(SIDE_A + SIDE_B, HEIGHT_B)

\dfrac{SIDE_A}{x} = \dfrac{SIDE_A + SIDE_B}{HEIGHT_B}

SIDE_A * HEIGHT_B = SIDE_A + SIDE_Bx

x = fractionReduce(SIDE_A * HEIGHT_B, SIDE_A + SIDE_B)

randRange(1, 10) randRange(1, SIDE_A) HEIGHT_A + randRange(1, 10) SIDE_A * (HEIGHT_B - HEIGHT_A) / HEIGHT_A [SIDE_A, HEIGHT_A, "x", HEIGHT_B] atan(HEIGHT_A / SIDE_A) * 180 / PI new Triangle([0, 0], [ANGLE, 90, 90 - ANGLE], 50 * (SIDE_A / (SIDE_A + SIDE_B)) * HEIGHT_A / HEIGHT_B, {}) function(){ var trA = new Triangle([0, 0], [ANGLE, 90, 90 - ANGLE], 50, {}); trA.labels = { "points" : ["A", "D", "E"] }; return trA; }()
SIDE_B

\overline{AB} : \overline{BC} = fraction(SIDE_A, HEIGHT_A)

\overline{AD} : \overline{DE} = \dfrac{SIDE_A + x}{HEIGHT_B}

\dfrac{SIDE_A + x}{HEIGHT_B} = fraction(SIDE_A, HEIGHT_A)

HEIGHT_A(SIDE_A + x) SIDE_A + x = HEIGHT_B * SIDE_A

HEIGHT_A * SIDE_A + HEIGHT_Ax = HEIGHT_B * SIDE_A

plus(HEIGHT_A + "x") = HEIGHT_B * SIDE_A - HEIGHT_A * SIDE_A

x = fractionReduce(HEIGHT_B * SIDE_A - HEIGHT_A * SIDE_A, HEIGHT_A)

randRange(1, 10) randRange(1, 10) randRange(1, SIDE_A) (SIDE_A + SIDE_B) * HEIGHT_A / SIDE_A [SIDE_A, HEIGHT_A, SIDE_B, "x"] atan(HEIGHT_A / SIDE_A) * 180 / PI new Triangle([0, 0], [ANGLE, 90, 90 - ANGLE], 50 * (SIDE_A / (SIDE_A + SIDE_B)) * HEIGHT_A / HEIGHT_B, {}) function(){ var trA = new Triangle([0, 0], [ANGLE, 90, 90 - ANGLE], 50, {}); trA.labels = { "points" : ["A", "D", "E"] }; return trA; }()
HEIGHT_B

\overline{AB} : \overline{BC} = fraction(SIDE_A, HEIGHT_A)

\overline{AD} : \overline{DE} = \dfrac{SIDE_A + SIDE_B}{x} = \dfrac{SIDE_A + SIDE_B}{x}

fraction(SIDE_A, HEIGHT_A) = \dfrac{SIDE_A + SIDE_B}{x}

plus(SIDE_A + "x") = HEIGHT_A * (SIDE_A + SIDE_B)

x = fraction(HEIGHT_A * (SIDE_A + SIDE_B), SIDE_A) = fractionReduce(HEIGHT_A * (SIDE_A + SIDE_B), SIDE_A)

What is the value of x?

var tri_range = TRI_B.boundingRange(1); init({ range: [[tri_range[0][0], tri_range[0][1]], [tri_range[1][0], tri_range[1][1]]], scale: 400 / (tri_range[0][1] - tri_range[0][0]) }) style({ strokeWidth: 1, stroke: KhanUtil.BLACK }); var x_max = TRI_B.boundingRange()[0][1]; var y_max = TRI_B.boundingRange()[1][1]; var line_x = x_max * SIDE_A / (SIDE_A + SIDE_B); var line_y = y_max * HEIGHT_A / HEIGHT_B; var square = (tri_range[0][1] - tri_range[0][0]) / 36; rect(x_max - square, 0, square, square); rect(line_x - square, 0, square, square); style({ strokeWidth: 2, stroke: KhanUtil.BLUE }); TRI_A.draw(); TRI_B.draw(); TRI_B.drawLabels(); style({ color: "black" }); label([line_x, 0], "B", "below"); label([line_x, line_y], "C", "above"); label([line_x/2, 0], LABELS[0], "below"); label([line_x, line_y/2], LABELS[1], "right"); label([(SIDE_A + SIDE_B/2) * x_max / (SIDE_A + SIDE_B), 0], LABELS[2], "below"); label([x_max, y_max/2], LABELS[3], "right");

\triangle ABC and \triangle ADE both have a right angle and share \angle BAC.

Therefore \triangle ABC and \triangle ADE are similar triangles.

Therefore, the ratio \overline{AB} : \overline{BC} is equal to the ratio \overline{AD} : \overline{DE}.