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 transform object.

`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?