Using a matrix to position objects in 3D space
<p>When using a 3D matrix transformation, is it possible to use only a matrix for each object to both position, rotate and scale the object? Would I also need to maintain a separate set of location information in order to, for example, perform operations like "rotate around arbitrary point"?</p>

<p>I ask because I can't quite work out how to (specifically...) rotate around an arbitrary point, though this relates to general management of an object's spacial information.</p>