4 randRange(0, 360) randRange(20, 70) * 2 "\\blue{\\angle ABC}" "\\green{\\angle CBD}" "\\pink{\\angle BCD}" "\\orange{\\angle ADC}"
(START + 180) % 360 CENTRAL CENTRAL_LABEL ANGLE_D_LABEL

A circle is centered on point `B`. Points `A`, `C` and `D` lie on its circumference.

If `GIVEN_LABEL` angle measures `GIVEN^\circ`, what does `ASKED_LABEL` angle measure?

init({ range: [ [ -RADIUS - 1, RADIUS + 1 ], [ -RADIUS - 1, RADIUS + 1 ] ] }); addMouseLayer(); graph.circle = new Circle( RADIUS ); style({ stroke: BLUE, fill: BLUE }); graph.circle.drawCenter("B", START + CENTRAL / 2 + 180); graph.circle.drawPoint(START, "A"); graph.circle.drawPoint(START + CENTRAL, "C"); graph.circle.drawCentralAngle(START, START + CENTRAL); style({ stroke: INTERACTIVE, fill: INTERACTIVE, color: INTERACTIVE }); graph.circle.drawInscribedAngle(SUBTENDED_POINT, START, START + CENTRAL, 0.5, "D"); graph.circle.drawMovablePoint(SUBTENDED_POINT, START + CENTRAL, START, "D");
CENTRAL / 2 `^\circ`

`CENTRAL_LABEL` and `ANGLE_B_LABEL` are supplementary.

style({ stroke: GREEN }, function() { graph.circle.drawCentralArc(START + CENTRAL, SUBTENDED_POINT); })

`\begin{eqnarray} CENTRAL_LABEL + ANGLE_B_LABEL &=& 180^\circ \\ ANGLE_B_LABEL &=& 180^\circ - CENTRAL_LABEL \\ ANGLE_B_LABEL &=& 180^\circ - \blue{CENTRAL^\circ} \\ ANGLE_B_LABEL &=& \green{180 - CENTRAL^\circ} \end{eqnarray}`

The angles in a triangle sum to `180^\circ`.

`ANGLE_B_LABEL + ANGLE_C_LABEL + ANGLE_D_LABEL = 180^\circ`

style({ stroke: PINK }, function() { graph.circle.drawInscribedArc( START + CENTRAL, SUBTENDED_POINT, START + CENTRAL + 180 ); });

The pink sides of triangle `CBD` are radii, so they must be equal. This means triangle `CBD` is isosceles and that the base angles, `ANGLE_C_LABEL` and `ANGLE_D_LABEL` angles, are equal.

style({ stroke: PINK }, function() { graph.circle.drawRadius( START + CENTRAL ); graph.circle.drawRadius( SUBTENDED_POINT ); }); style({ stroke: PINK }, function() { graph.circle.drawInscribedArc( START + CENTRAL, SUBTENDED_POINT, START + CENTRAL + 180 ); });

`\begin{eqnarray} ANGLE_B_LABEL + 2 \cdot ANGLE_D_LABEL &=& 180^\circ \\ 2 \cdot ANGLE_D_LABEL &=& 180^\circ - \green{180 - CENTRAL^\circ} \\ 2 \cdot ANGLE_D_LABEL &=& CENTRAL^\circ \end{eqnarray}`

`ANGLE_D_LABEL = \orange{CENTRAL / 2^\circ}`, (half `CENTRAL_LABEL`).

CENTRAL / 2 ANGLE_D_LABEL CENTRAL_LABEL
CENTRAL `^\circ`

The pink sides of triangle `CBD` are radii, so they must be equal. This means triangle `CBD` is isosceles and that the base angles, `ANGLE_C_LABEL` and `ANGLE_D_LABEL` angles, are equal.

style({ stroke: PINK }, function() { graph.circle.drawRadius( START + CENTRAL ); graph.circle.drawRadius( SUBTENDED_POINT ); }); style({ stroke: PINK }, function() { graph.circle.drawInscribedArc( START + CENTRAL, SUBTENDED_POINT, START + CENTRAL + 180 ); });

The angles in a triangle sum to `180^\circ`.

`ANGLE_B_LABEL + ANGLE_C_LABEL + ANGLE_D_LABEL = 180^\circ`

style({ stroke: GREEN }, function() { graph.circle.drawCentralArc( START + CENTRAL, SUBTENDED_POINT ); })

`\begin{eqnarray} ANGLE_B_LABEL + 2 \cdot ANGLE_D_LABEL &=& 180^\circ \\ ANGLE_B_LABEL &=& 180^\circ - 2 \cdot \orange{GIVEN^\circ} \\ ANGLE_B_LABEL &=& \green{180 - CENTRAL^\circ} \end{eqnarray}`

`CENTRAL_LABEL` and `ANGLE_B_LABEL` are supplementary.

style({ stroke: GREEN }, function() { graph.circle.drawCentralArc( START + CENTRAL, SUBTENDED_POINT ); })

`\begin{eqnarray} CENTRAL_LABEL + ANGLE_B_LABEL &=& 180^\circ \\ CENTRAL_LABEL &=& 180^\circ - ANGLE_B_LABEL \\ CENTRAL_LABEL &=& 180^\circ - \green{180 - CENTRAL^\circ} \end{eqnarray}`

`CENTRAL_LABEL = \blue{CENTRAL^\circ}`, (twice `GIVEN_LABEL`).

randRange(START + 180 + 20, START + CENTRAL + 180 - 20) % 360 "\\blue{\\angle CBE}" "\\blue{\\angle ABE}" "\\orange{\\angle CDE}" "\\orange{\\angle ADE}"

First divide the angles into two.

`CENTRAL_LABEL = SUBANGLE_1 + SUBANGLE_2`
`ANGLE_D_LABEL = SUBANGLE_3 + SUBANGLE_4`

style({stroke: GRAY, "stroke-dasharray": "-"}, function() { graph.circle.drawChord(SUBTENDED_POINT, SUBTENDED_POINT + 180); }); style({ fill: GRAY, stroke: GRAY }); graph.circle.drawPoint(SUBTENDED_POINT + 180, "E");

`SUBANGLE_1` and `ANGLE_B_LABEL` are supplementary.

So, `ANGLE_B_LABEL = 180^\circ - SUBANGLE_1`

style({ stroke: GREEN }, function() { graph.circle.drawCentralArc(START + CENTRAL, SUBTENDED_POINT); })

The angles in a triangle sum to `180^\circ`.

`ANGLE_B_LABEL + ANGLE_C_LABEL + SUBANGLE_2 = 180^\circ`

style({ stroke: PINK }, function() { graph.circle.drawInscribedArc( START + CENTRAL, SUBTENDED_POINT, START + CENTRAL + 180 ); });

The pink sides of triangle `CBD` are radii, so they must be equal. This means triangle `CBD` is isosceles and that the base angles, `ANGLE_C_LABEL` and `SUBANGLE_3` angles, are equal.

style({ stroke: PINK }, function() { graph.circle.drawRadius( START + CENTRAL ); graph.circle.drawRadius( SUBTENDED_POINT ); }); style({ stroke: PINK }, function() { graph.circle.drawInscribedArc( START + CENTRAL, SUBTENDED_POINT, START + CENTRAL + 180 ); });

`\begin{eqnarray} ANGLE_B_LABEL + 2 \cdot SUBANGLE_3 &=& 180^\circ \\ 2 \cdot SUBANGLE_3 &=& 180^\circ - ANGLE_B_LABEL \\ 2 \cdot SUBANGLE_3 &=& 180^\circ - (180^\circ - SUBANGLE_1) \\ 2 \cdot SUBANGLE_3 &=& SUBANGLE_1 \\ SUBANGLE_3 &=& \frac{1}{2}SUBANGLE_1 \end{eqnarray}`

By the same logic, `SUBANGLE_4 = \frac{1}{2}SUBANGLE_2`.

So, `ASKED_LABEL = \frac{1}{2}GIVEN_LABEL`.

`ASKED_LABEL = \frac{1}{2} \cdot \blue{CENTRAL}^\circ = \orange{CENTRAL / 2^\circ}`

CENTRAL / 2 ANGLE_D_LABEL CENTRAL_LABEL
CENTRAL `^\circ`

First divide the angles into two.

`CENTRAL_LABEL = SUBANGLE_1 + SUBANGLE_2`
`ANGLE_D_LABEL = SUBANGLE_3 + SUBANGLE_4`

style({stroke: GRAY, "stroke-dasharray": "-"}, function() { graph.circle.drawChord(SUBTENDED_POINT, SUBTENDED_POINT + 180); }); style({ fill: GRAY, stroke: GRAY }); graph.circle.drawPoint(SUBTENDED_POINT + 180, "E");

The pink sides of triangle `CBD` are radii, so they must be equal. This means triangle `CBD` is isosceles and that the base angles, `ANGLE_C_LABEL` and `SUBANGLE_3` angles, are equal.

style({ stroke: PINK }, function() { graph.circle.drawRadius( START + CENTRAL ); graph.circle.drawRadius( SUBTENDED_POINT ); }); style({ stroke: PINK }, function() { graph.circle.drawInscribedArc( START + CENTRAL, SUBTENDED_POINT, START + CENTRAL + 180 ); });

The angles in a triangle sum to `180^\circ`.

`ANGLE_B_LABEL + ANGLE_C_LABEL + SUBANGLE_3 = 180^\circ`

style({ stroke: GREEN }, function() { graph.circle.drawCentralArc(START + CENTRAL, SUBTENDED_POINT); }) style({ stroke: PINK }, function() { graph.circle.drawInscribedArc( START + CENTRAL, SUBTENDED_POINT, START + CENTRAL + 180 ); });

`\begin{eqnarray} ANGLE_B_LABEL + 2 \cdot SUBANGLE_3 &=& 180^\circ \\ ANGLE_B_LABEL &=& 180^\circ - 2 \cdot SUBANGLE_3 \end{eqnarray}`

`SUBANGLE_1` and `ANGLE_B_LABEL` are supplementary.

`\begin{eqnarray} SUBANGLE_1 + ANGLE_B_LABEL &=& 180^\circ \\ SUBANGLE_1 &=& 180^\circ - ANGLE_B_LABEL \\ SUBANGLE_1 &=& 180^\circ - (180^\circ - 2 \cdot SUBANGLE_3) \\ SUBANGLE_1 &=& 2 \cdot SUBANGLE_3 \end{eqnarray}`

By the same logic, `SUBANGLE_2 = 2 \cdot SUBANGLE_4`.

So, `ASKED_LABEL = 2 \cdot GIVEN_LABEL`.

`ASKED_LABEL = 2 \cdot \orange{CENTRAL / 2}^\circ = \blue{CENTRAL^\circ}`

randFromArray([ randRange(START + CENTRAL + 30, START + 180 - 30), randRange(START + CENTRAL + 180 + 30, START + 360 - 30) ]) % 360 (function() { var arc_AD = innerArc(START, SUBTENDED_POINT); var arc_CD = innerArc((START + CENTRAL) % 360, SUBTENDED_POINT); return abs(arc_AD.end - arc_AD.start) < abs(arc_CD.end - arc_CD.start); })()

First add a diameter.

style({stroke: GRAY, "stroke-dasharray": "-"}, function() { graph.circle.drawChord(SUBTENDED_POINT, SUBTENDED_POINT + 180); style({ fill: GRAY, stroke: GRAY }); graph.circle.drawPoint(SUBTENDED_POINT + 180, "E"); });

The triangle `\pink{ABD}` is isosceles as `\pink{AB}` and `\pink{BD}` are radii, so must be equal.

graph.triangle = path([[0, 0], polar(RADIUS, START), polar(RADIUS, SUBTENDED_POINT), [0, 0]], { stroke: PINK, fill: "none" });

Therefore, `\pink{\angle{BAD}}` and `\orange{\angle{ADB}}` are equal.

var arc = innerArc(START, (SUBTENDED_POINT + 180) % 360); var arc2 = innerArc(SUBTENDED_POINT, (START + 180) % 360); style({ stroke: ORANGE }); graph.orangeAngle2 = graph.circle.drawInscribedArc(SUBTENDED_POINT, arc.start, arc.end, 0.7); style({ stroke: PINK }); graph.pinkAngle = graph.circle.drawInscribedArc(START, arc2.start, arc2.end, 0.7);

Since, the angles in a triangle sum to `180^\circ`

`\begin{eqnarray} \green{\angle{ABD}} + \pink{\angle{BAD}} + \orange{\angle{ADB}} &=& 180^\circ \\ \green{\angle{ABD}} + 2 \cdot \orange{\angle{ADB}} &=& 180^\circ \\ \green{\angle{ABD}} &=& 180^\circ - 2 \cdot \orange{\angle{ADB}} \end{eqnarray}`

style({ stroke: GREEN }); var arc = innerArc(START, SUBTENDED_POINT); graph.greenAngle = graph.circle.drawCentralArc(arc.start, arc.end, 0.7);

`\green{\angle{ABD}}` and `\blue{\angle{ABE}}` are supplementary.

`\begin{eqnarray} \green{\angle{ABD}} + \blue{\angle{ABE}} &=& 180^\circ \\ \blue{\angle{ABE}} &=& 180^\circ - \green{\angle{ABD}} \\ \blue{\angle{ABE}} &=& 180^\circ - (180^\circ - 2 \cdot \orange{\angle{ADB}}) \end{eqnarray}`

style({ stroke: BLUE }); var arc = innerArc(START, (SUBTENDED_POINT + 180) % 360); graph.blueAngle2 = graph.circle.drawCentralArc(arc.start, arc.end, 0.7);

So, `\blue{\angle{ABE}} = 2 \cdot \orange{\angle{ADB}}`.

graph.pinkAngle.remove(); graph.greenAngle.remove(); graph.blueAngle2.animate({ opacity: 0.4 }); graph.orangeAngle2.animate({ opacity: 0.4 }); graph.triangle.remove();

We can also created an isosceles triangle, `\pink{BCD}`.

graph.triangle = path([[0, 0], polar(RADIUS, START + CENTRAL), polar(RADIUS, SUBTENDED_POINT), [0, 0]], { stroke: PINK, fill: "none" });

Using the same argument we can find that, `\blue{\angle{CBE}} = 2 \cdot \orange{\angle{CDB}}`.

graph.triangle.remove(); var arc = innerArc((START + CENTRAL) % 360, (SUBTENDED_POINT + 180) % 360); style({ stroke: BLUE, opacity: 0.4 }); graph.circle.drawCentralArc(arc.start, arc.end, 0.9); style({ stroke: ORANGE, opacity: 0.4 }); graph.circle.drawInscribedArc(SUBTENDED_POINT, arc.start, arc.end, 0.9);

`\blue{\angle{ABC}} = \blue{\angle{ABE}} - \blue{\angle{CBE}}`
`\orange{\angle{ADC}} = \orange{\angle{ADE}} - \orange{\angle{CDE}}`

`\blue{\angle{ABC}} = \blue{\angle{CBE}} - \blue{\angle{ABE}}`
`\orange{\angle{ADC}} = \orange{\angle{CDE}} - \orange{\angle{ADE}}`

Since `\blue{\angle{ABE}} = 2 \cdot \orange{\angle{ADE}}` and `\blue{\angle{CBE}} = 2 \cdot \orange{\angle{CDE}}`, `\blue{\angle{ABC}} = 2 \cdot \orange{\angle{ADC}}`

So, `\orange{\angle{ADC}} = \frac{1}{2} \cdot \blue{GIVEN^\circ} = GIVEN / 2^\circ`.

So, `\blue{\angle{ABC}} = 2 \cdot \orange{GIVEN^\circ} = GIVEN * 2^\circ`.

CENTRAL / 2 ANGLE_D_LABEL CENTRAL_LABEL
CENTRAL `^\circ`