|
|
Line 1: |
Line 1: |
| {{Refimprove|date=April 2008}}
| |
| In [[Euclidean geometry]], '''uniform scaling''' (or '''[[isotropic]] scaling''',<ref>{{cite web|format=PowerPoint|last1=Durand|last2=Cutler|url=http://groups.csail.mit.edu/graphics/classes/6.837/F03/lectures/04_transformations.ppt |title=Transformations|publisher=Massachusetts Institute of Technology|accessdate =12 September 2008}}</ref>) is a [[linear transformation]] that enlarges (increases) or shrinks (diminishes) objects by a [[scale factor]] that is the same in all directions. The result of uniform scaling is [[similarity (geometry)|similar]] (in the geometric sense) to the original. A scale factor of 1 is normally allowed, so that congruent shapes are also classed as similar. Uniform scaling happens, for example, when enlarging or reducing a [[photograph]], or when creating a [[scale model]] of a building, car, airplane, etc.
| |
|
| |
|
| More general is '''scaling''' with a separate scale factor for each axis direction. '''Non-uniform scaling''' ('''[[anisotropic]] scaling''') is obtained when at least one of the scaling factors is different from the others; a special case is '''directional scaling''' or '''stretching''' (in one direction). Non-uniform scaling changes the [[shape]] of the object; e.g. a square may change into a rectangle, or into a parallelogram if the sides of the square are not parallel to the scaling axes (the angles between lines parallel to the axes are preserved, but not all angles). It occurs, for example, when a faraway billboard is viewed from an [[oblique angle]], or when the shadow of a flat object falls on a surface that is not parallel to it.
| |
|
| |
|
| When the scale factor is larger than 1, (uniform or non-uniform) scaling is sometimes also called '''dilation''' or '''enlargement'''. When the scale factor is a positive number smaller than 1, scaling is sometimes also called '''contraction'''.
| | The author is known through the name of Gabrielle Lattimer though she doesn't rather like being called like that. To bake is something that she's been doing for long [http://Data.Gov.uk/data/search?q=periods periods] of time. Her job was a cashier but inside the her [https://Www.Gov.uk/search?q=husband husband] and your spouse will start their own family based business. She's always loved living found in South Carolina. She is running and managing a blog here: http://prometeu.net<br><br>Here is my webpage - clash of clans hack android, [http://prometeu.net click through the next web page], |
| | |
| In the most general sense, a scaling includes the case that the directions of scaling are not perpendicular. It includes also the case that one or more scale factors are equal to zero ([[Projection (linear algebra)|projection]]), and the case of one or more negative scale factors (a directional scaling by -1 is equivalent to a [[Reflection (mathematics)|reflection]]).
| |
| | |
| Scaling is a [[linear transformation]], and a special case of [[homothetic transformation]]. In most cases, the homothetic transformations are non-linear transformations.
| |
| | |
| ==Matrix representation==
| |
| A scaling can be represented by a scaling matrix. To scale an object by a [[Vector (geometric)|vector]] ''v'' = (''v<sub>x</sub>, v<sub>y</sub>, v<sub>z</sub>''), each point ''p'' = (''p<sub>x</sub>, p<sub>y</sub>, p<sub>z</sub>'') would need to be multiplied with this scaling matrix:
| |
| :<math> S_v =
| |
| \begin{bmatrix}
| |
| v_x & 0 & 0 \\
| |
| 0 & v_y & 0 \\
| |
| 0 & 0 & v_z \\
| |
| \end{bmatrix}.
| |
| </math>
| |
| | |
| As shown below, the multiplication will give the expected result:
| |
| :<math>
| |
| S_vp =
| |
| \begin{bmatrix}
| |
| v_x & 0 & 0 \\
| |
| 0 & v_y & 0 \\
| |
| 0 & 0 & v_z \\
| |
| \end{bmatrix}
| |
| \begin{bmatrix}
| |
| p_x \\ p_y \\ p_z
| |
| \end{bmatrix}
| |
| =
| |
| \begin{bmatrix}
| |
| v_xp_x \\ v_yp_y \\ v_zp_z
| |
| \end{bmatrix}.
| |
| </math>
| |
| | |
| Such a scaling changes the [[diameter]] of an object by a factor between the scale factors, the [[area]] by a factor between the smallest and the largest product of two scale factors, and the [[volume]] by the product of all three.
| |
| | |
| The scaling is uniform [[if and only if]] the scaling factors are equal (''v<sub>x</sub> = v<sub>y</sub> = v<sub>z</sub>''). If all except one of the scale factors are equal to 1, we have directional scaling.
| |
| | |
| In the case where ''v<sub>x</sub> = v<sub>y</sub> = v<sub>z</sub> = k'', scaling increases the area of any surface by a factor of k<sup>2</sup> and the volume of any solid object by a factor of k<sup>3</sup>.
| |
| | |
| ===Scaling in arbitrary dimensions===
| |
| In <math>n</math>-dimensional space <math>\mathbb{R}^n</math>, uniform scaling by a factor <math>v</math> is accomplished by [[scalar multiplication]] with <math>v</math>, that is, multiplying each coordinate of each point by <math>v</math>. As a special case of linear transformation, it can be achieved also by multiplying each point (viewed as a column vector) with a [[diagonal matrix]] whose entries on the diagonal are all equal to <math>v</math>, namely <math>v I</math> .
| |
| | |
| Non-uniform scaling is accomplished by multiplication with any [[symmetric matrix]]. The [[eigenvalue]]s of the matrix are the scale factors, and the corresponding [[eigenvector]]s are the axes along which each scale factor applies. A special case is a diagonal matrix, with arbitrary numbers <math>v_1,v_2,\ldots v_n</math> along the diagonal: the axes of scaling are then the coordinate axes, and the transformation scales along each axis <math>i</math> by the factor <math>v_i</math>
| |
| | |
| In uniform scaling with a non-zero scale factor, all non-zero vectors retain their direction (as seen from the origin), or all have the direction reversed, depending on the sign of the scaling factor. In non-uniform scaling only the vectors that belong to an [[eigenspace]] will retain their direction. A vector that is the sum of two or more non-zero vectors belonging to different eigenspaces will be tilted towards the eigenspace with largest eigenvalue.
| |
| | |
| ==Using homogeneous coordinates==
| |
| In [[projective geometry]], often used in [[computer graphics]], points are represented using [[homogeneous coordinates]]. To scale an object by a [[Vector (geometric)|vector]] ''v'' = (''v<sub>x</sub>, v<sub>y</sub>, v<sub>z</sub>''), each homogeneous coordinate vector ''p'' = (''p<sub>x</sub>, p<sub>y</sub>, p<sub>z</sub>'', 1) would need to be multiplied with this [[projective transformation]] matrix:
| |
| | |
| :<math> S_v = | |
| \begin{bmatrix}
| |
| v_x & 0 & 0 & 0 \\
| |
| 0 & v_y & 0 & 0 \\
| |
| 0 & 0 & v_z & 0 \\
| |
| 0 & 0 & 0 & 1
| |
| \end{bmatrix}.
| |
| </math>
| |
| | |
| As shown below, the multiplication will give the expected result:
| |
| :<math>
| |
| S_vp =
| |
| \begin{bmatrix}
| |
| v_x & 0 & 0 & 0 \\
| |
| 0 & v_y & 0 & 0 \\
| |
| 0 & 0 & v_z & 0 \\
| |
| 0 & 0 & 0 & 1
| |
| \end{bmatrix}
| |
| \begin{bmatrix}
| |
| p_x \\ p_y \\ p_z \\ 1
| |
| \end{bmatrix}
| |
| =
| |
| \begin{bmatrix}
| |
| v_xp_x \\ v_yp_y \\ v_zp_z \\ 1
| |
| \end{bmatrix}.
| |
| </math>
| |
| | |
| Since the last component of a homogeneous coordinate can be viewed as the denominator of the other three components, a uniform scaling by a common factor ''s'' (uniform scaling) can be accomplished by using this scaling matrix:
| |
| :<math> S_v =
| |
| \begin{bmatrix}
| |
| 1 & 0 & 0 & 0 \\
| |
| 0 & 1 & 0 & 0 \\
| |
| 0 & 0 & 1 & 0 \\
| |
| 0 & 0 & 0 & \frac{1}{s}
| |
| \end{bmatrix}.
| |
| </math> | |
| | |
| For each vector ''p'' = (''p<sub>x</sub>, p<sub>y</sub>, p<sub>z</sub>'', 1) we would have
| |
| :<math>
| |
| S_vp =
| |
| \begin{bmatrix}
| |
| 1 & 0 & 0 & 0 \\
| |
| 0 & 1 & 0 & 0 \\
| |
| 0 & 0 & 1 & 0 \\
| |
| 0 & 0 & 0 & \frac{1}{s}
| |
| \end{bmatrix}
| |
| \begin{bmatrix}
| |
| p_x \\ p_y \\ p_z \\ 1
| |
| \end{bmatrix}
| |
| =
| |
| \begin{bmatrix}
| |
| p_x \\ p_y \\ p_z \\ \frac{1}{s}
| |
| \end{bmatrix}
| |
| </math>
| |
| which would be homogenized to
| |
| :<math>
| |
| \begin{bmatrix}
| |
| sp_x \\ sp_y \\ sp_z \\ 1
| |
| \end{bmatrix}.
| |
| </math>
| |
| [[File:An-Experimental-Test-of-the-Accumulated-Copying-Error-Model-of-Cultural-Mutation-for-Acheulean-pone.0048333.s001.ogv|thumb|thumbtime=35|An experiment in which participants are asked to scale a [[stone tool]] to match the size of a target tool.]]
| |
| ==Footnotes==
| |
| {{Reflist}}
| |
| | |
| ==See also==
| |
| * [[Scale (ratio)]]
| |
| * [[Scale (map)]]
| |
| * [[Scale model#Scales|Scales of scale models]]
| |
| * [[Scale (disambiguation)]]
| |
| * [[Orbit#Scaling_in_gravity|Scaling in gravity]]
| |
| * [[Transformation matrix]]
| |
| * [[ 3D Scaling ]]
| |
| | |
| ==External links==
| |
| {{Commons category|Scaling (geometry)}}
| |
| * [http://demonstrations.wolfram.com/Understanding2DScaling/ Understanding 2D Scaling] and [http://demonstrations.wolfram.com/Understanding3DScaling/ Understanding 3D Scaling] by Roger Germundsson, [[The Wolfram Demonstrations Project]].
| |
| {{Use dmy dates|date=September 2010}}
| |
| {{DEFAULTSORT:Scaling (Geometry)}}
| |
| | |
| [[Category:Transformation (function)]]
| |
The author is known through the name of Gabrielle Lattimer though she doesn't rather like being called like that. To bake is something that she's been doing for long periods of time. Her job was a cashier but inside the her husband and your spouse will start their own family based business. She's always loved living found in South Carolina. She is running and managing a blog here: http://prometeu.net
Here is my webpage - clash of clans hack android, click through the next web page,