Transformations in the geom3d Package - Maple Help

Home : Support : Online Help : Mathematics : Geometry : 3-D Euclidean : Transformations : geom3d/transform

Transformations in the geom3d Package

Description

 • The help page geom3d[transformation] describes the transformations that can be applied directly to a specific geometric object.
 • In general, to define a transformation without specifying the object to which the transformation is to be applied, use the verb'' form of the above transformations.

 rotation rotate translation translate ScrewDisplacement ScrewDisplace reflection reflect RotatoryReflection RotatoryReflect GlideReflection GlideReflect homothety dilate homology StretchRotate

 • Using the function geom3d[inverse], one can compute the inverse of a given product of transformations, the function geom3d[transprod] converts a given transformation or product of transformations into a product of three primitive'' transformations (translate, rotate, and dilate), while the function geom3d[transform] is to apply the result'' transformation to a specific geometric object.

Examples

 > $\mathrm{with}\left(\mathrm{geom3d}\right):$

Define $\mathrm{t1}$ which is a homothety with ratio 3, center of homothety (0,0,0)

 > $\mathrm{t1}≔\mathrm{dilate}\left(3,\mathrm{point}\left(o,0,0,0\right)\right)$
 ${\mathrm{t1}}{:=}{\mathrm{geom3d:-dilate}}{}\left({3}{,}{o}\right)$ (1)

Define the plane oxy

 > $\mathrm{point}\left(A,1,0,0\right),\mathrm{point}\left(B,0,0,1\right):$
 > $\mathrm{line}\left(\mathrm{l1},\left[o,A\right]\right),\mathrm{line}\left(\mathrm{l2},\left[o,B\right]\right),\mathrm{plane}\left(p,\left[\mathrm{l1},\mathrm{l2}\right]\right):$
 > $\mathrm{dsegment}\left(\mathrm{AB},\left[A,B\right]\right):$

Define $\mathrm{t2}$ which is a glide-reflection with $p$ as the plane of reflection and $\mathrm{AB}$ as the vector of translation

 > $\mathrm{t2}≔\mathrm{GlideReflect}\left(p,\mathrm{AB}\right)$
 ${\mathrm{t2}}{:=}{\mathrm{geom3d:-GlideReflect}}{}\left({p}{,}{\mathrm{AB}}\right)$ (2)

Define $\mathrm{t3}$ as a screw-displacement with $\mathrm{l3}$ as the rotational axis and $\mathrm{AB}$ as a vector of translation

 > $\mathrm{t3}≔\mathrm{ScrewDisplace}\left(\frac{\mathrm{π}}{2},\mathrm{line}\left(\mathrm{l3},\left[A,B\right]\right),\mathrm{AB}\right)$
 ${\mathrm{t3}}{:=}{\mathrm{geom3d:-ScrewDisplace}}{}\left(\frac{{1}}{{2}}{}{\mathrm{π}}{,}{\mathrm{l3}}{,}{\mathrm{AB}}\right)$ (3)

Compute $\mathrm{q1}$ which is the product of ${\mathrm{t2}}^{\mathrm{t1}}\mathrm{t3}$

 > $\mathrm{q1}≔\mathrm{transprod}\left({\mathrm{t2}}^{\mathrm{t1}},\mathrm{t3}\right)$
 ${\mathrm{q1}}{:=}{\mathrm{geom3d:-transprod}}{}\left({\mathrm{geom3d:-dilate}}{}\left(\frac{{1}}{{3}}{,}{o}\right){,}{\mathrm{geom3d:-reflect}}{}\left({p}\right){,}{\mathrm{geom3d:-translate}}{}\left({\mathrm{AB}}\right){,}{\mathrm{geom3d:-dilate}}{}\left({3}{,}{o}\right){,}{\mathrm{geom3d:-rotate}}{}\left(\frac{{1}}{{2}}{}{\mathrm{π}}{,}{\mathrm{l3}}\right){,}{\mathrm{geom3d:-translate}}{}\left({\mathrm{AB}}\right)\right)$ (4)

Compute the inverse of $\mathrm{q1}$

 > $\mathrm{q2}≔\mathrm{inverse}\left(\mathrm{q1}\right)$
 ${\mathrm{q2}}{:=}{\mathrm{geom3d:-transprod}}{}\left({\mathrm{geom3d:-translate}}{}\left({\mathrm{_AB}}\right){,}{\mathrm{geom3d:-rotate}}{}\left(\frac{{3}}{{2}}{}{\mathrm{π}}{,}{\mathrm{l3}}\right){,}{\mathrm{geom3d:-dilate}}{}\left(\frac{{1}}{{3}}{,}{o}\right){,}{\mathrm{geom3d:-translate}}{}\left({\mathrm{_AB}}\right){,}{\mathrm{geom3d:-reflect}}{}\left({p}\right){,}{\mathrm{geom3d:-dilate}}{}\left({3}{,}{o}\right)\right)$ (5)

Compute the product of $\mathrm{q1}\mathrm{q2}$; one can quickly recognize that this is an identity transformation

 > $q≔\mathrm{transprod}\left(\mathrm{q1},\mathrm{q2}\right)$
 ${q}{:=}{\mathrm{geom3d:-transprod}}{}\left({\mathrm{geom3d:-dilate}}{}\left(\frac{{1}}{{3}}{,}{o}\right){,}{\mathrm{geom3d:-reflect}}{}\left({p}\right){,}{\mathrm{geom3d:-translate}}{}\left({\mathrm{AB}}\right){,}{\mathrm{geom3d:-dilate}}{}\left({3}{,}{o}\right){,}{\mathrm{geom3d:-rotate}}{}\left(\frac{{1}}{{2}}{}{\mathrm{π}}{,}{\mathrm{l3}}\right){,}{\mathrm{geom3d:-translate}}{}\left({\mathrm{AB}}\right){,}{\mathrm{geom3d:-translate}}{}\left({\mathrm{_AB}}\right){,}{\mathrm{geom3d:-rotate}}{}\left(\frac{{3}}{{2}}{}{\mathrm{π}}{,}{\mathrm{l3}}\right){,}{\mathrm{geom3d:-dilate}}{}\left(\frac{{1}}{{3}}{,}{o}\right){,}{\mathrm{geom3d:-translate}}{}\left({\mathrm{_AB}}\right){,}{\mathrm{geom3d:-reflect}}{}\left({p}\right){,}{\mathrm{geom3d:-dilate}}{}\left({3}{,}{o}\right)\right)$ (6)

Simple check

 > $\mathrm{tetrahedron}\left(\mathrm{te},o,1\right)$
 ${\mathrm{te}}$ (7)
 > $\mathrm{transform}\left(\mathrm{te1},\mathrm{te},q\right)$
 ${\mathrm{te1}}$ (8)
 > $\mathrm{AreDistinct}\left(\mathrm{te},\mathrm{te1}\right)$
 ${\mathrm{false}}$ (9)

Hence, the two objects are the same