## Documentation Center |

Create 4-by-4 transform matrix

`M = makehgtform M = makehgtform('translate',[tx ty
tz])M = makehgtform('scale',s) M = makehgtform('scale',[sx,sy,sz]) M = makehgtform('xrotate',t) M = makehgtform('yrotate',t) M = makehgtform('zrotate',t) M = makehgtform('axisrotate',[ax,ay,az],t) `

Use `makehgtform` to create transform matrices
for translation, scaling, and rotation of graphics objects. Apply
the transform to graphics objects by assigning the transform to the `Matrix` property
of a parent hgtransform object. See Examples for more information.

`M = makehgtform ` returns
an identity transform.

`M = makehgtform('translate',[tx ty
tz])` or M = makehgtform('translate',tx,ty,tz) returns
a transform that translates along the *x*-axis
by `tx`, along the *y*-axis by `ty`,
and along the *z*-axis by `tz`.

`M = makehgtform('scale',s) `returns
a transform that scales uniformly along the *x*-, *y*-,
and *z*-axes.

`M = makehgtform('scale',[sx,sy,sz]) `returns
a transform that scales along the *x*-axis by `sx`,
along the *y*-axis by `sy`, and
along the *z*-axis by `sz`.

`M = makehgtform('xrotate',t) `returns
a transform that rotates around the *x*-axis by `t` radians.

`M = makehgtform('yrotate',t) `returns
a transform that rotates around the *y*-axis by `t` radians.

`M = makehgtform('zrotate',t) `returns
a transform that rotates around the *z*-axis by `t` radians.

`M = makehgtform('axisrotate',[ax,ay,az],t) `Rotate
around axis `[ax ay az]` by `t` radians.

Note that you can specify multiple operations in one call to `makehgtform` and
the MATLAB^{®} software returns a transform matrix that is the result
of concatenating all specified operations. For example,

m = makehgtform('xrotate',pi/2,'yrotate',pi/2);

is the same as

mx = makehgtform('xrotate',pi/2); my = makehgtform('yrotate',pi/2); m = mx*my;

Was this topic helpful?