On Aug 31, 2010, at 3:43 PM, Kenneth Russell wrote:

> On Tue, Aug 31, 2010 at 3:39 PM, Chris Marrin <cmar...@apple.com> wrote:
>> 
>> On Aug 31, 2010, at 3:25 PM, Maciej Stachowiak wrote:
>> 
>>> 
>>> On Aug 31, 2010, at 2:06 PM, Chris Marrin wrote:
>>> 
>>>> 
>>>> On Aug 31, 2010, at 11:48 AM, Kenneth Russell wrote:
>>>> 
>>>>> On Tue, Aug 31, 2010 at 11:05 AM, David Hyatt <hy...@apple.com> wrote:
>>>>>> On Aug 31, 2010, at 10:36 AM, Chris Marrin wrote:
>>>>>> 
>>>>>>> Or should we get rid of Vector3, added the functionality it needs to 
>>>>>>> FloatPoint3D and use that? Ken Russell already has plans to do add the 
>>>>>>> functions to FloatPoint3D, so I would vote for that.
>>>>>> 
>>>>>> I would vote for this.  I don't think the geometry classes should move 
>>>>>> to wtf.
>>>>> 
>>>>> I'd like to unify the math, geometry, and linear algebra classes that
>>>>> are scattered around the WebKit tree -- for example, FloatPoint,
>>>>> FloatPoint3D, FloatRect, FloatSize, the classes under
>>>>> WebCore/platform/graphics/transforms/, these Complex and Vector3
>>>>> types, ... -- under a directory like WebCore/math, remove duplicate
>>>>> functionality, and provide a cohesive set of interfaces that can be
>>>>> easily used by other modules like graphics and audio.
>>>> 
>>>> It would be nice if we could do this unification and then later on we can 
>>>> enhance it so the classes play nice together. For instance, 
>>>> TransformationMatrix deals with many, but not all of the other geometric 
>>>> classes. You can't cast between FloatPoint and FloatPoint3D, etc. Maybe we 
>>>> could also use this opportunity to change TransformationMatrix to Matrix. 
>>>> The current name is such a mouthful. And we might also want to think about 
>>>> changing FloatPoint3D to FloatPoint3. That would make it more natural if 
>>>> and when we want to add a FloatPoint4. We should also change 
>>>> AffineTransform to AffineMatrix so it matches Matrix.
>>> 
>>> Mathematically, you can have an affine transform, or a matrix that 
>>> represents an affine transform. And there's such a thing as an affine space 
>>> (in fact IntPoint and IntSize form an affine space). But there's no such 
>>> thing as an affine matrix.
>> 
>> Sure there is. It's a matrix that performs affine transformations. 
>> Mathematically it's represented as a 3x3 matrix, but like others, we just 
>> represent it as a linear transformation matrix (2x2) plus a 2D translation 
>> value. I think the name AffineMatrix is descriptive because, unlike a 
>> general 3x3 matrix, our truncated representation can only handle affine 
>> transformations.
> 
> Chris, based on the precision of Maciej's reply, I suspect you do not
> want to get into a semantic argument here... :)
> 
> http://www.google.com/search?q=affine+matrix

Oh, Ken, I'll argue about anything, you know that :-)

Yes, I did the Google search and you're right that the term is not in common 
usage (although I still maintain it's a completely reasonable term). The reason 
I think it's meaningful is because it really is a matrix of sorts, but a 
specialized one that handles only affine transformations. We could call it 
AffineTransform, but then why not call our 4x4 matrix HomogeneousTransform? I'd 
just like to be consistent.

-----
~Chris
cmar...@apple.com




_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to