|
Boost : |
From: Geoffrey Irving (irving_at_[hidden])
Date: 2006-06-16 13:25:11
On Fri, Jun 16, 2006 at 11:55:18AM -0500, Michael Marcin wrote:
> > On Thu, Jun 15, 2006 at 04:38:48PM -0400, Hickerson, David A wrote:
> >> <snip>
> >>
> >> Geoffrey wrote:
> >> > And it is not true that "when doing transformations on vectors, you
> >> must use 1 dimension
> >> > higher than the level you are working in."
> >>
> >> He would right had I said rotations. Transformations are rotations and
> >> translations requiring the extra dimension.
> >>
> >> [ x1, x2, x3, 0]
> >> [ y1, y2, y3, 0]
> >> [ z1, z2, z3, 0]
> >> [ t1, t2, t3, 1]
> >
> > The fact that you have three 0's and a 1 there shows that that
> > representation is nonoptimal. I don't recall any standard place where
> > those zeros and ones get filled in except the last (and increasingly
> > fastest) stage of scan line renderers, so it would be a terrible shame
> > if 4x4 matrices were the only kind of transform supported.
> >
> > Geoffrey
>
> The last column is used when you need the inverse or transpose of a
> transformation matrix.
The inverse of an affine transformation is an affine transformation, and
has the same pattern of zeros and 1's. The transpose of an affine
transformation is not a mathematically well-defined operator as far I
know. Tranpose is typically only defined for linear operators. Do you
have an actual use for the transpose of an affine transform? I.e., the
whole transform, not just the linear part.
Geoffrey
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk