[Matrix-SIG] matrix transformations on vector graphics
Warren Focke <firstname.lastname@example.org>
Wed, 15 Apr 1998 15:59:22 -0400 (EDT)
On Wed, 15 Apr 1998, David Ascher wrote:
> On Wed, 15 Apr 1998, Just van Rossum wrote:
> > Is there a convenient way to apply the matrix to the vector array?
> And then, you can just use the 'dot()' function:
> >>> Numeric.dot(v, tm)
> array([[ 0., 0.],
> [ 10., 0.],
> [ 100., -75.]])
> > If I turn the x and y values into separate arrays, I could probably do
> > something like this:
> > [x, y] = Numeric.transpose(v)
> > xnew = tm * x + tm * y + tm
> > ynew = tm * x + tm * y + tm
> > But if I in general would prefer xy pairs, I would have to do
> > Numeric.transpose() before and after I do this. Or is transpose()
> > relatively cheap? Did I just answer my own question?
> transpose is very cheap, since it doesn't move any of the data, just the
> description of the data.
But PyArray_ContiguousFromObject eventually gets called on both arguments
to Numeric.dot. Does this not copy the data of transposed arrays,
negating the ``cheapness'' in this case (on the input side, at least)?