Affine transforms - matrix algebra

Pavel Safrata pavel.safrata at oracle.com
Tue Jul 17 08:56:58 PDT 2012


On 17.7.2012 17:03, Martin Desruisseaux wrote:
> Le 17/07/12 16:50, Pavel Safrata a écrit :
>> I've just realized that the 3x3 matrix is wrong (or at least more 
>> confusing than useful). It would be good for representing a 3D 
>> transform without translation (which we don't really need to do), but 
>> not for the intended representation of 2D transform with translation. 
>> So I'm taking back the addition of MAT_3x3.
>
> I though that MAT_3x3 was just a convenience for MAT_2x3 with a [0 0 
> 1] row added, like MAT_4x4 is a convenience for MAT_3x4 with [0 0 0 1] 
> added?
>
> Thinking more about it, maybe the original MAT_2D, MAT_3D, etc. names 
> were less confusing after all, since MAT_3x3 may suggests "extract 
> from the 4x4 matrix a sub-matrix of side 3x3", which is not quite my 
> initial understanding.

Exactly, it seems to me that it would be tempting to interpret the 1 in 
the bottom right corner as a z-axis translation..

>
> What about: AFFINE_2D (6 values), MATRIX_2D (9 values), AFFINE_3D (12 
> values), MATRIX_3D (16 values)?

I think this looks better. The downside that it is probably unusable 
without reading documentation ("what is the difference between matrix 
and affine?")
What about MAT_2D_3x2, MAT_2D_3x3, MAT_3D_3x4, MAT_3D_4x4? Looks ugly, 
doesn't it? :-(

Pavel

>
>     Martin
>




More information about the openjfx-dev mailing list