ScalingTransform[{sx,sy,…}]
gives a TransformationFunction that represents scaling by a factor si along each coordinate axis from the origin.
ScalingTransform[{sx,sy,…},p]
gives scaling centered at the point p.
ScalingTransform[s,v]
gives scaling by a factor s along the direction of the vector v.
ScalingTransform[s,v,p]
gives scaling along the direction of v, centered at the point p.
ScalingTransform
ScalingTransform[{sx,sy,…}]
gives a TransformationFunction that represents scaling by a factor si along each coordinate axis from the origin.
ScalingTransform[{sx,sy,…},p]
gives scaling centered at the point p.
ScalingTransform[s,v]
gives scaling by a factor s along the direction of the vector v.
ScalingTransform[s,v,p]
gives scaling along the direction of v, centered at the point p.
Details
- ScalingTransform gives a TransformationFunction that can be applied to vectors.
Examples
open all close allBasic Examples (2)
Scope (4)
Scaling along the coordinate axes about the point {px,py}:
t = ScalingTransform[{Subscript[s, x], Subscript[s, y]}, {Subscript[p, x], Subscript[p, y]}]t[{x, y}]Scaling along the vector {1,1} about the point {px,py} by a factor s:
t = ScalingTransform[s, {1, 1}, {Subscript[p, x], Subscript[p, y]}]t[{x, y}]Transformation applied to a 2D shape:
gr = {Rectangle[], AbsolutePointSize[10], Opacity[1], {Magenta, Point[{0, 0}]}, {Green, Point[{1, 1}]}};Graphics[{{Opacity[.35], Blue, gr}, GeometricTransformation[{Opacity[.85], Red, gr}, ScalingTransform[.65, {1, 1}]]}]Transformation applied to a 3D shape:
gr = {Cuboid[], AbsolutePointSize[10], Opacity[1], {Magenta, Point[{0, 0, 0}]}, {Green, Point[{1, 1, 1}]}};Graphics3D[{{Opacity[.35], Blue, gr}, GeometricTransformation[{Opacity[.85], Red, gr}, ScalingTransform[.65, {1, 1, 0}]]}, Boxed -> False]Applications (2)
A projection can be viewed as a special case of scaling:
Graphics3D[{Opacity[.5], Cuboid[], GeometricTransformation[Cuboid[], ScalingTransform[10 ^ -3, {1, 1, 1}, #]]& /@ {{0, 0, 0}, {1, 1, 1}}}, Boxed -> False]Scaling a circle in different directions:
Graphics[
GeometricTransformation[Circle[], ScalingTransform[.25, #]]& /@ Table[{Cos[u], Sin[u]}, {u, Pi / 10Range[10]}]]Properties & Relations (3)
The inverse of ScalingTransform[s,v] is given by ScalingTransform[1/s,v]:
Composition[ScalingTransform[s, {1, 1}], ScalingTransform[1 / s, {1, 1}]]//SimplifyThe inverse of ScalingTransform[{s1,…,sn}] is given by ScalingTransform[{1/s1,…,1/sn}]:
Composition[ScalingTransform[{s1, s2}], ScalingTransform[1 / {s1, s2}]]//SimplifyWhen the directions along which scalings are applied are orthogonal, transforms commute:
t1 = ScalingTransform[s1, {1, 1}];
t2 = ScalingTransform[s2, {1, -1}];In this case the order in which transformations are applied does not matter:
Composition[t1, t2][{x, y}] - Composition[t2, t1][{x, y}]//SimplifyPossible Issues (1)
The order in which scaling transformations are applied is significant:
t1 = ScalingTransform[s1, {1, 1}];
t2 = ScalingTransform[s2, {1, 2}];The difference between applying the transforms in different order:
Composition[t1, t2][{x, y}] - Composition[t2, t1][{x, y}]//SimplifyNeat Examples (1)
Scale a 3D object about a point p:
cow = ExampleData[{"Geometry3D", "Cow"}, "GraphicsComplex"];p = {0, 0, -0.251619};Graphics3D[{EdgeForm[None], Opacity[0.5], Table[{Lighter[ColorData[1, k], 0.5], GeometricTransformation[cow, ScalingTransform[k, {1, 0, 0}, p]]}, {k, 1, 3}]}, Lighting -> "Neutral", ImageSize -> Large, Boxed -> False]Graphics3D[{EdgeForm[None], Opacity[0.5], Table[{Lighter[ColorData[1, k], 0.5], GeometricTransformation[cow, ScalingTransform[k, {0, 1, 0}, p]]}, {k, 1, 3}]}, Lighting -> "Neutral", ImageSize -> Large, Boxed -> False]Graphics3D[{EdgeForm[None], Opacity[0.5], Table[{Lighter[ColorData[1, k], 0.5], GeometricTransformation[cow, ScalingTransform[k, {0, 0, 1}, p]]}, {k, 1, 3}]}, Lighting -> "Neutral", ImageSize -> Large, Boxed -> False]Related Guides
Related Workflows
- Rotate, Pan and Zoom 3D Graphics
History
Text
Wolfram Research (2007), ScalingTransform, Wolfram Language function, https://reference.wolfram.com/language/ref/ScalingTransform.html.
CMS
Wolfram Language. 2007. "ScalingTransform." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ScalingTransform.html.
APA
Wolfram Language. (2007). ScalingTransform. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ScalingTransform.html
BibTeX
@misc{reference.wolfram_2026_scalingtransform, author="Wolfram Research", title="{ScalingTransform}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/ScalingTransform.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_scalingtransform, organization={Wolfram Research}, title={ScalingTransform}, year={2007}, url={https://reference.wolfram.com/language/ref/ScalingTransform.html}, note=[Accessed: 12-June-2026]}