90 + randFromArray([1, -1]) * randRange(10, 50) ["AGF", "FGB", "BGE", "EGA", "EHD", "DHF", "FHC", "CHE"] randFromArray(ANGLES) [["AGF", "BGE", "FHC", "EHD"], ["FGB", "EGA", "DHF", "CHE"]] _.include(ANGGROUPS[0], GIVEN) ? 0 : 1 ANGGROUPS[ANGGROUPNUM] ANGGROUPS[ANGGROUPNUM ? 0 : 1] { "AGF": "BGE", "FGB": "EGA", "BGE": "AGF", "EGA": "FGB", "EHD": "FHC", "DHF": "CHE", "FHC": "EHD", "CHE": "DHF" } { "AGF": "EHD", "FGB": "CHE", "BGE": false, "EGA": false, "EHD": "AGF", "DHF": false, "FHC": false, "CHE": "FGB" } VERTICAL[GIVEN] !!(ALTINTERIOR[GIVEN]) (ORIGALT ? ALTINTERIOR[GIVEN] : ALTINTERIOR[MYVERT]) VERTICAL[MYALT]

Lines `p` and `q` are parallel. Which angles must be congruent to the given angle? Select angles by clicking on them.

init({ range: [[-1, 11], [-1, 4]] }); addMouseLayer(); graph.congruency = addCongruency({ y1: -0.7, y2: 3.7 }); graph.congruency.addPoint("A", [0, 0]); graph.congruency.addPoint("B", [10, 0]); graph.congruency.addPoint("C", [0, 3]); graph.congruency.addPoint("D", [10, 3]); graph.cross = graph.congruency.addLine({ start: [5, 1.5], angle: ANGLE, extend: true, placeAtStart: "E", placeAtEnd: "F" }); graph.bottom = graph.congruency.addLine({ start: "A", end: "B" }); graph.top = graph.congruency.addLine({ start: "C", end: "D" }); graph.congruency.intersect(graph.bottom, graph.cross, "G", true); graph.congruency.intersect(graph.top, graph.cross, "H", true); graph.congruency.angles[GIVEN].stick(); graph.congruency.angles[GIVEN].setState(1); graph.congruency.angles[GIVEN].setSelectedStyle({ stroke: ORANGE }); graph.hint = function(ang, color) { graph.congruency.angles[ang].setUnselectedStyle({ stroke: color, opacity: 0.4 }); }; label([0.5, 3.4], "p"); label([0.5, 0.4], "q");
graph.congruency.getGuess()
if (!_.any(ANGLES, function(ang) { return (guess[ang] !== 0 && ang !== GIVEN); })) { return ""; } return _.all(ANGGROUP, function(ang) { return (guess[ang] > 0); }) && !_.any(OTHERANGGROUP, function(ang) { return (guess[ang] > 0); });
graph.congruency.showGuess(guess);

Three angles are congruent to the given angle.

Vertical angles are congruent, so the angle vertical to the given is congruent.

graph.hint(MYVERT, RED);

Opposite interior angles are congruent, so the angle opposite of the given is congruent

graph.hint(MYALT, PURPLE);

Opposite interior angles are congruent, so the angle opposite of the vertical angle is congruent

graph.hint(MYALT, PURPLE);

Vertical angles are congruent, so the angle vertical to the opposite interior angle is congruent.

graph.hint(MYALTVERT, PINK);