Transformations of Polyhedra
This worksheet describes the transformations in the geom3d package, which may be applied to polyhedra.
restart;withgeom3d:
An Introductory Demonstration
icosahedronp1,point⁡o,0,0,0,1.:stellatep2,p1,10:homothetyp3,p2,3,o:draw⁡p2,p3,style=patch,lightmodel=light4,orientation=0,32,title=Homothety of a Stellated Icosahedron
Theory
A mapping of a set A onto a set B in which distinct elements of A have distinct images in B is called a transformation (or a one-to-one mapping) of A onto B. A point transformation of the unextended space onto itself which carries each pair of points A,B into a pair A1,B1 such that A1⁢B1=k⁢A⁢B, where k is a fixed positive number, is called a similarity (or an equiform transformation), and the particular case where k=1 is called an isometry (or a congruent transformation).
A similarity is said to be direct or opposite depending on whether Δ⁢ABC&conjugate0; has or does not have the same sense as Δ⁢A1⁢B1⁢C1&conjugate0; .
In Maple, the following isometries and similarities are implemented and are applicable to polyhedra.
Direct isometries: rotation, translation, ScrewDisplacement
Opposite isometries: reflection, RotatoryReflection, GlideReflection
Non-isometric similarities: homothety, homology
In translation, the set S of all points of unextended space is mapped onto itself by carrying each point P of S into a point P1 of S such that P⁢P1&conjugate0; is equal and parallel to a given directed segment A⁢B&conjugate0; of space. There are no invariant points under a translation of non-zero vector A⁢B&conjugate0;.
In rotation about an axis, each point P of S is carried into a point P1 of S by rotating P about a fixed line in space through a given angle. The fixed line is called the axis of rotation, and the points of the axis are the invariant points of the rotations.
In reflection in a point, each point P of S is carried into the point P1 of S such that P⁢P1 is bisected by a fixed point O of space. The fixed point O is the only invariant point of the transformation.
In reflection in a line, each point P of S is carried into the point P1 of S such that P⁢P1 is perpendicular bisected by a fixed line l of space.
In reflection in a plane, each point P of S is carried into the point P1 of S such that P⁢P1 is perpendicularly bisected by a fixed plane p of space, and the points of p are the invariant points of the transformation.
In homothety, each point P of S is carried into the point P1 of S collinear with P and with a fixed point O of space, such that OP1&conjugate0;OP&conjugate0;=k, where k is a nonzero real number. If k <> 1, the point O is the only invariant point of the transformation.
A ScrewDisplacement is the product of a rotation and a translation along the axis of rotation.
A GlideReflection is the product of a reflection in a plane and a translation of vector AB&conjugate0;, where AB&conjugate0; lies in the plane.
A RotatoryReflection is the product of a reflection in a plane and a rotation about a fixed axis perpendicular to the plane.
A homology is the product of a homothety and a rotation about an axis passing through the center of the homothety.
Products of Transformations
In general, to define a transformation without specifying the object to which the transformation is to be applied, one uses the "verb" form of the above transformations.
rotation --> rotate
translation --> translate
ScrewDisplacement --> ScrewDisplace reflection --> reflect
RotatoryReflection --> RotatoryReflect
GlideReflection --> GlideReflect
homothety --> dilate
homology --> StretchRotate When defining transformations using the "verb" forms, one can do more things relating to the theory of transformations. When we speak of the resultant of the two transformations R⁢S as their "product", we can make use of the analogy that exists between transformations and numbers. Let R, S,... denote transformations, and write R⁢S for the resultant of R and of S in that order. Pushing the analogy further, let Rp denote the p-fold application of R; for example, if R is a rotation through θ, Rp is the rotation through p⁢θ. A transformation R is said to be periodic if there is a positive integer p such that Rp=1 (the identity transformation), then its period is the smallest p in which this happens. Let R−1 denote the inverse of R. Then the general formula for the inverse of a product is easily seen to be R⁢S⁢T−1=T−1⁢S−1⁢R−1. Let x denote any figure to which a transformation is applied. If T transforms x into x1 (so that T−1 transforms x1 into x), we write x1=xT. This notation is justified by the fact that xTS=xT⁢S. If S transforms the pair of figures x,xT into x1,x1T1, we say that S transforms T into T1, and write T1=TS; for example, if T is a rotation about an axis l, then TS is the rotation through the same angle about the transformed axis lS.
In Maple, by using the function inverse, one can compute the inverse of a given product of transformation. The function transprod converts a given transformation or product of transformations into a product of three "primitive" transformations (translation, rotation, and homothety), while the function transform is used to apply the "result" transformation to a specific object.
Example
The following is an example of using transformations in the "verb" forms:
Define t1, which is a homothety with ratio 3, center of homology (0,0,0).
t1≔dilate⁡3,point⁡o,0,0,0
t1≔dilate⁡3,o
Define the plane oxy, and the directed segment AB.
point⁡A,1,0,0,point⁡B,0,0,1,line⁡l1,o,A,line⁡l2,o,B,plane⁡p,l1,l2,dsegment⁡AB,A,B:
Define t2, which is a glide-reflection with p as the plane of reflection and AB as the vector of translation.
t2≔GlideReflect⁡p,AB
Define t3 as a screw-displacement, with l3 as the rotational axis and AB as a vector of translation.
t3≔ScrewDisplace⁡π2,line⁡l3,A,B,AB
t3≔ScrewDisplace⁡π2,l3,AB
Compute q1, which is the product of t2^t1*t3.
q1≔transprod⁡t2t1,t3
q1≔transprod⁡dilate⁡13,o,reflect⁡p,translate⁡AB,dilate⁡3,o,rotate⁡π2,l3,translate⁡AB
Compute the inverse of q1.
q2≔inverse⁡q1
q2≔transprod⁡translate⁡_AB,rotate⁡3⁢π2,l3,dilate⁡13,o,translate⁡_AB,reflect⁡p,dilate⁡3,o
Compute the product of q1*q2. One can quickly recognize that this is an identity transformation:
q≔transprod⁡q1,q2
q≔transprod⁡dilate⁡13,o,reflect⁡p,translate⁡AB,dilate⁡3,o,rotate⁡π2,l3,translate⁡AB,translate⁡_AB,rotate⁡3⁢π2,l3,dilate⁡13,o,translate⁡_AB,reflect⁡p,dilate⁡3,o
Simple check:
tetrahedron⁡te,o,1;transformte1,te,q;AreDistinctte,te1
te
te1
false
Therefore, the two objects are the same, as expected.
Return to Index for Example Worksheets.
Download Help Document