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

Examples

open allclose all

Basic Examples  (2)

Scaling along the coordinate axes:

Scaling along the vector {1,1} by a factor s:

Vectors in the scaling direction get scaled by a factor s:

Scope  (4)

Scaling along the coordinate axes about the point {px,py}:

Scaling along the vector {1,1} about the point {px,py} by a factor s:

Transformation applied to a 2D shape:

Transformation applied to a 3D shape:

Applications  (2)

A projection can be viewed as a special case of scaling:

Scaling a circle in different directions:

Properties & Relations  (3)

The inverse of ScalingTransform[s,v] is given by ScalingTransform[1/s,v]:

The inverse of ScalingTransform[{s1,,sn}] is given by ScalingTransform[{1/s1,,1/sn}]:

When the directions along which scalings are applied are orthogonal, transforms commute:

In this case the order in which transformations are applied does not matter:

Possible Issues  (1)

The order in which scaling transformations are applied is significant:

The difference between applying the transforms in different order:

Neat Examples  (1)

Scale a 3D object about a point p:

Scale along the axis:

Scale along the axis:

Scale along the axis:

Introduced in 2007
 (6.0)