Home
- POV-Ray Tutorial
Geometric
Transformations
- Index
Elementary
Transformations
- "translate< ... >"
- "rotate< ... >"
- "scale< ... >"
- mirror symmetry
Other
Transformations
- "matrix< ... >"
- Shearing
- transforms.inc
- "transform{ ...}"
and "inverse"
Vectors and
Transformations
Insert Menu Add-on
& Download
|
"scale" and reflection
stretching - also relative to single coordinate directions
|
#declare RedBall =
sphere{<0,0,0>,1
texture{ pigment{ color rgb<1,0,0>}
finish { diffuse 0.9 phong 1}}}
//--------------------- row in z direction ------
object{RedBall scale<1.00,1,1> translate<0,0, 0>}
object{RedBall scale<0.67,1,1> translate<0,0,-3>}
object{RedBall scale<0.33,1,1> translate<0,0,-6>}
object{RedBall scale<1.50,1,1> translate<0,0, 3>}
object{RedBall scale<2.50,1,1> translate<0,0, 6>}
// -------------------- row in x direction ----
object{RedBall scale<1,4.6,1> translate<-6,0, 0>}
object{RedBall scale<1,2.0,1> translate<-3,0, 0>}
object{RedBall scale<1,0.6,1> translate< 3,0, 0>}
object{RedBall scale<1,0.3,1> translate< 6,0, 0>}
//----------------------------------------------- |
scale = changing of the size
general syntax:
scale s
or with different scales in the basic directions:
scale <sx,sy,sz>
this causes a multiplication (enlargement or reduction of the size) of the dimensions
of an object in all 3 basic directions. Hereby the x values (width) are multiplicated by sx,
the y values (height) are multiplicated by sy and the z values (deepth) are multiplicated by sz.
|
#declare Wheel =
union{
// for details see my POV-Ray sample scenes
}// end of object "Wheel"
//--------------------- 2 Wheels ------
object{Wheel translate<1,0, 0>}
object{Wheel translate<0,0,-3> scale<-1,1,1>}
//------------------------------------------- |
mirrowing at a coordinate plane:
scale <-1,1,1>
this causes an object to be mirrowed at the yz coordinate plane in x direction.
|
Samples:
"scale 2 global stretching in all directions to the double size.
"scale<1,1,1>" causes nothing, this means that all is shown by 1:1.
"scale<1,0.5,1>" reduces the values in y direction to the half.
"scale<2,1,1>" expands the values in x direction to double width.
"scale<-1,1,1>" mirrows an object at the yz plane in x direction.
Attention: scale <2,0,0> i.e. causes a
"Parse Warning: Illegal Value: Scale X by 0.0. Changed to 1.0."
Means: Changed to scale <2,1,1> because multiplying a component with zero does not make any sense!
It's highy recommended to avoid with scale the abbreviations x, y, z.
(In POV-Ray: x = <1,0,0>, y = <0,1,0>, z = <0,0,1>).
Attention:
The step by step application of
rotation, translation and concentrical streching ("scale")
in general is not interchangeable!
The result is not the same if we mix it up - it depends on the sequence on how we apply it!
While constructing scene descriptions too shallow
this often is a source of many errors with a high potential of frustration!!!
.
Hint:
"scale" can also be applied on shapes as well as with other "objects" like textures ("texture"),
color patterns ("pigment") and simulated surface deformations ("normal").
|
|