randRange(-4, 4, 4) 90 * randRange(1, 3) ROTDEG * Math.PI / 180 _.map(_.range(6), function() { return { x: randRange(-4, 4), y: randRange(-4, 4) }; }) _.map(Geom.convexhull(POINTS), function(p) { return [p.x, p.y]; }) _.map(HULL, function(p){ return Math.pow(p[0],2) + Math.pow(p[1],2); }) _.map(HULL, function(p) { return [p[0]*Math.cos(ROTRAD) - p[1]*Math.sin(ROTRAD), p[0]*Math.sin(ROTRAD) + p[1]*Math.cos(ROTRAD)]; }) 0

What is the image of the polygon below after the rotation T_{{ROTDEG}^\circ{} }?

Rotate the blue polygon to its image under the given translation.
GRAPH.curPoints
coordList = _.map(GRAPH.points, function(point) { return point.coord; }); return _.all(coordList, function(point) { return Math.abs(point[0] - TARGET[_.indexOf(coordList, point)][0]) < 0.1 && Math.abs(point[1] - TARGET[_.indexOf(coordList, point)][1]) < 0.1; });
GRAPH.curPoints = guess; GRAPH.showGuess();

A rotation T_{\LARGE r^\circ{}} rotates points by r degrees around (0,0) counter-clockwise.

To see where a rotation moved this polygon, pick one point and rotate it. For example, what happens to ( HULL[0][0] , HULL[0][1] ) under this rotation?
circle(HULL[0], { r: 0.2, fill: "black", stroke: "none" });

Under the rotation T_{ROTDEG {}^\circ{} }, ( HULL[0][0] , HULL[0][1] ) is translated to ( Math.round(TARGET[0][0]) , Math.round(TARGET[0][1]) ). Where is the rest of the polygon rotated?
circle(TARGET[0], { r: 0.2, fill: "black", stroke: "none" }); arc([0,0], Math.sqrt(Math.pow(HULL[0][0],2) + Math.pow(HULL[0][1],2)), Math.atan2(HULL[0][1], HULL[0][0]) * 180 / Math.PI, Math.atan2(TARGET[0][1], TARGET[0][0]) * 180 / Math.PI, { stroke: "black", arrows: "->" });

To get from ( HULL[0][0] , HULL[0][1] ) to ( Math.round(TARGET[0][0]) , Math.round(TARGET[0][1]) ), we rotated it ROTDEG{}^\circ{} counter-clockwise, or through ["one quarter","one half","three quarters"][ROTDEG/90-1] of a circle.

The orange outline shows where the polygon ends up after the translation.
for (var i=0; i < TARGET.length; i++) { line(TARGET[i], TARGET[(i+1) % TARGET.length], { stroke: ORANGE }); }
randRange(-4, 4, 4) 90 * randRange(1, 3) ROTDEG * Math.PI / 180 _.map(_.range(6), function() { return {x: randRange(-4, 4), y: randRange(-4, 4)}; }) _.map(Geom.convexhull(POINTS), function(p) { return [p.x, p.y]; }) _.map(HULL, function(p) { return Math.pow(p[0],2) + Math.pow(p[1],2); }) _.map(HULL, function(p) { return [p[0]*Math.cos(ROTRAD) - p[1]*Math.sin(ROTRAD), p[0]*Math.sin(ROTRAD) + p[1]*Math.cos(ROTRAD)]; }) 0

What is the tranformation that rotates the blue solid shape to the orange dashed shape?

graphInit({ range: 11, scale: 20, axisArrows: "<->", tickStep: 1, labelStep: 1, gridOpacity: 0.05, axisOpacity: 0.2, tickOpacity: 0.4, labelOpacity: 0.5 }); GRAPH = graph; for (var i=0; i < HULL.length; i++) { line(HULL[i], HULL[(i+1) % HULL.length], { stroke: BLUE }); } for (var i=0; i < TARGET.length; i++) { line(TARGET[i], TARGET[(i+1) % TARGET.length], { stroke: ORANGE, strokeDasharray: "- " }); }
{\LARGE T } \quad {}^\circ{}
$("#ans").val() answer = Number($("#ans").val()); if (isNaN(answer)) { return false; } else if (answer > 0) { return answer % 360 === ROTDEG; } else { return answer % 360 + 360 === ROTDEG; }
\$("#ans").val(guess);

A rotation T_{\LARGE r^\circ{}} rotates points by r degrees around (0,0) counter-clockwise.

To see what rotation moved the blue polygon, pick one point and rotate it. For example, what happened to ( HULL[0][0] , HULL[0][1] ) under this rotation?
circle(HULL[0], { r: 0.2, fill: "black", stroke: "none" });

Under this rotation, ( HULL[0][0] , HULL[0][1] ) was rotated to ( Math.round(TARGET[0][0]) , Math.round(TARGET[0][1]) ). What does this tell you about the rotation used?

circle(TARGET[0], { r: 0.2, fill: "black", stroke: "none" }); arc([0,0], Math.sqrt(Math.pow(HULL[0][0],2) + Math.pow(HULL[0][1],2)), Math.atan2(HULL[0][1], HULL[0][0]) * 180 / Math.PI, Math.atan2(TARGET[0][1], TARGET[0][0]) * 180 / Math.PI, { stroke: "black", arrows: "->" });

To get from ( HULL[0][0] , HULL[0][1] ) to ( Math.round(TARGET[0][0]) , Math.round(TARGET[0][1]) ), we rotated it around (0,0) ROTDEG{}^\circ{} counterclockwise.

The rotation used was T_{ROTDEG^\circ{}}.