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 cmar...@apple.com _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev