Rotate like a compass
Rotation is just turning every point around a center—like a compass needle swinging about its base.
Tip: Paste CSV pairs or type values. Use the Examples button to load shapes.
Rotation: (x',y') = (cₓ + cosθ(x−cₓ) − sinθ(y−c_y), c_y + sinθ(x−cₓ) + cosθ(y−c_y));
Scaling about (cₓ,c_y): (x',y') = (cₓ + sₓ(x−cₓ), c_y + s_y(y−c_y)).
Reflection across a line at angle θ uses rotate → flip x → rotate back. Press Enter to apply.
Blue = original, Red = transformed. The view auto-scales to fit all points. Grid and axes are illustrative.
This tool applies four core geometric transformations—translation, rotation, reflection, and scaling—to one or many points in the plane. These operations are ubiquitous in computer graphics, robotics, CAD, GIS, and classroom geometry, and they can be composed to produce complex motions and mappings.
(x',y') = (x + Δx, y + Δy).θ about a center (cₓ,c_y):
x' = cₓ + cosθ(x−cₓ) − sinθ(y−c_y),
y' = c_y + sinθ(x−cₓ) + cosθ(y−c_y).(cₓ,c_y) with factors sₓ, s_y:
x' = cₓ + sₓ(x−cₓ), y' = c_y + s_y(y−c_y) (uniform if sₓ=s_y).y=x, y=−x) or
over a line through the origin at angle θ via rotate–flip–rotate back.
Under the hood, these are affine transformations—linear maps optionally combined with translation. In matrix
form, a point is extended to homogeneous coordinates (x,y,1) and multiplied by a 3×3 matrix,
which makes chaining operations straightforward. This page focuses on direct formulas for clarity, while
producing the same results as matrix multiplication.
Pro tip: For “rotate/scale about a point”, set the center to the shape’s centroid if you want to keep it roughly in place as you transform.
Rotation is just turning every point around a center—like a compass needle swinging about its base.
Flipping across a line acts like holding a mirror there—each point gets a twin the same distance on the other side.
Scaling stretches or shrinks lengths but doesn’t change angles when it’s uniform—your shape grows without getting “tilted.”
Translate just slides every point the same way—no spinning, no stretching. Think of moving a sticker across a page.
Games and animations chain these moves—slide, spin, flip, stretch—to build dances, camera moves, and on-screen magic.
Enter one pair per line as x,y. Example: 0,0 then 2,1 then 4,0.
Angles are in degrees, positive counter-clockwise.
To keep the UI simple, we support axes, y=±x, and any line through the origin at angle θ.
For a general line, translate points so the line passes through the origin, apply the angle reflection, then translate back.
Yes. Everything runs locally in your browser; nothing is uploaded.