Loading…

Similarity Transformation Calculator

Math Geometry • Transformations and Symmetry

View all topics

Similarity Transformation Calculator – Dilation & Rigid Motions

Apply a similarity transformation in 2D: a dilation by factor \(k\) combined with a rigid motion (rotation/reflection + translation). Visualize the overlay and see how lengths scale by \(|k|\) and areas by \(k^2\).

Inputs accept 1e-3, pi, e, sqrt(2), sin(), cos(), tan(), ln(), log(), abs(). Use * for multiplication.

Similarity settings
Preset form: \[ x' = k\,Q\,(x-c)+c+t \] where \(Q\) is rotation/reflection (orthogonal).
Input geometry
Format: (x,y) or x,y. Parentheses inside expressions (like sqrt(2)) are supported.
View options

Drag to pan • wheel/trackpad to zoom • pinch on touch. “Reset view” fits the geometry. Units are square.

Ready
View (square units • interactive)

Original geometry is solid. Transformed geometry is dashed. Use the slider or Play to animate.

Rate this calculator

0.0 /5 (0 ratings)
Be the first to rate.
Your rating
You can update your rating any time.

Frequently Asked Questions

What is a similarity transformation in 2D geometry?

A similarity transformation preserves shape (angles stay the same) but changes size by a uniform scale factor k. It can be written as x' = k Q (x - c) + c + t, where Q is a rotation or reflection, c is the dilation center, and t is a translation.

How do lengths and areas change under a similarity transformation?

All lengths scale by |k| and all areas scale by k^2. Rotations, reflections, and translations do not change distances; only the dilation factor affects size.

What does the condition M^T M approx k^2 I mean?

For a true similarity linear part, M must have the form M = k Q with Q orthogonal, so M^T M equals k^2 times the identity matrix. The calculator uses a tolerance to decide how closely the entered matrix matches this similarity behavior.

How do I enter a polyline or polygon for this calculator?

Select the polyline/polygon option and enter one vertex per line in (x,y) or x,y format in the order you want them connected. Turn on Close shape if you want the last vertex connected back to the first.