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);