randRange(-4, 4, 4) [EX - SX, EY - SY] _.map(_.range(6), function() { return {x: randRange(-4, 4), y: randRange(-4, 4)}; }) _.map(Geom.convexhull(POINTS), function(p) { return [p.x + SX, p.y + SY]; }) _.map(HULL, function(p) { return [p[0] + DX, p[1] + DY]; })

What is the image of the polygon below after the translation `T_{(DX, DY)}`?

graphInit({ range: 11, scale: 20, axisArrows: "<->", tickStep: 1, labelStep: 1, gridOpacity: 0.05, axisOpacity: 0.2, tickOpacity: 0.4, labelOpacity: 0.5 }); for (var i = 0; i < HULL.length; i++) { line( HULL[i], HULL[(i + 1) % HULL.length], { stroke: GRAY, strokeDasharray: "- " } ); } addMouseLayer(); graph.points = _.map(HULL, function(point) { return addMovablePoint({ coord: point, visible: false }); }); graph.lines = []; for (var i = 0; i < graph.points.length; i++) { graph.lines.push(addMovableLineSegment({ pointA: graph.points[i], pointZ: graph.points[(i + 1) % graph.points.length], snapX: 1, snapY: 1, onMove: function(dX, dY) { graph.updatePolygon(dX, dY); } })); } graph.updatePolygon = function(dX, dY) { _.each(graph.points, function(point) { point.setCoord([ point.coord[0] + dX, point.coord[1] + dY ]); point.updateLineEnds(); }); graph.curPoints = _.map(graph.points, function(point) { return point.coord; }); }; graph.showGuess = function() { _.each(graph.points, function(point) { point.remove(); }); _.each(graph.lines, function(line) { line.remove(); }); graph.points = _.map(graph.curPoints, function(point) { return addMovablePoint({ coord: point, visible: false }); }); graph.lines = []; for (var i = 0; i < graph.points.length; i++) { graph.lines.push(addMovableLineSegment({ pointA: graph.points[i], pointZ: graph.points[(i + 1) % graph.points.length], snapX: 1, snapY: 1 })); } }; graph.drawAnswer = function() { for (var i = 0; i < TARGET.length; i++) { line( TARGET[i], TARGET[(i + 1) % TARGET.length], { stroke: BLUE } ); } };
Drag the orange polygon to its image under the given translation.
KhanUtil.currentGraph.graph.curPoints
coordList = _.pluck(KhanUtil.currentGraph.graph.points, "coord"); return _.all(coordList, function(point, i) { return (point[0] === TARGET[i][0]) && (point[1] === TARGET[i][1]); });
KhanUtil.currentGraph.graph.curPoints = guess; KhanUtil.currentGraph.graph.showGuess();

A translation `T_{(a, b)}` moves points `a` units in the `x` direction (right if `a` is positive,left if `a` is negative) and `b` units in the `y` direction (up if `b` is positive, down if `b` is negative).

To see where a translation moved this polygon, pick one point and translate it. For example, what happens to `( HULL[0][0] , HULL[0][1] )` under this translation?

circle(HULL[0], { r: 0.2, fill: "black", stroke: "none" });

Under the translation `T_{(DX, DY)}`, `( HULL[0][0] , HULL[0][1] )` is translated to `( TARGET[0][0] , TARGET[0][1] )`. Where is the rest of the polygon translated?

circle(TARGET[0], { r: 0.2, fill: "black", stroke: "none" }); line(HULL[0], TARGET[0], { stroke: "black", arrows: "->"});

To get from `(HULL[0][0],HULL[0][1])` to `(TARGET[0][0],TARGET[0][1])`, we changed the `x`-coordinate by `DX` and the `y`-coordinate by `DY`. To translate the whole polygon, we need to do the same thing to all of its points.

The blue outline shows where the polygon ends up after the translation.

graph.drawAnswer();
randRange(-4, 4, 4) [EX - SX, EY - SY] _.map(_.range(6), function() { return {x: randRange(-4, 4), y: randRange(-4, 4)}; }) _.map(Geom.convexhull(POINTS), function(p) { return [p.x + SX, p.y + SY]; }) _.map(HULL, function(p) { return [p[0] + DX, p[1] + DY]; })

What was the translation applied to move 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 }); 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}} \;(` DX `,` DY `)`

A translation `T_{(a, b)}` moves points a units in the x direction (right if a is positive, left if a is negative) and b units in the y direction (up if b is positive, down if b is negative).

To see what translation moved the blue polygon, pick one point and translate it. For example, what happened to `( HULL[0][0] , HULL[0][1] )` under this translation?

circle(HULL[0], { r: 0.2, fill: "black", stroke: "none" });

Under this translation, `(HULL[0][0],HULL[0][1])` was translated to `(TARGET[0][0],TARGET[0][1])`. What does this tell you about the translation used?

circle(TARGET[0], { r: 0.2, fill: "black", stroke: "none" }); line(HULL[0], TARGET[0], { stroke: "black", arrows: "->"});

To get from `(HULL[0][0],HULL[0][1])` to `(TARGET[0][0],TARGET[0][1])`, we changed the `x`-coordinate by `DX` and the `y`-coordinate by `DY`.

The translation used was `T_{(DX, DY)}`.