Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: two-dimensional coordinate transformation

by thor (Priest)
on Nov 02, 2005 at 22:17 UTC ( #505140=note: print w/replies, xml ) Need Help??

in reply to two-dimensional coordinate transformation

It's too bad that Q isn't a whiz with linear algebra (or matrix multiplications as you put it). Rotations and scaling are linear transformations. For the following examples, assume that A is a 2xn matrix (that is 2 columns and n rows; n is the number of points that you're dealing with).
Rotation by an angle t: A' = A * [ [cos t, -sin t][sin t, cos t] ]; Scaling by a factor of x: A' = A * [ [x, 0][0, x] ]; Translation by dx in the x direction and dy in the y direction (not actually linear transform, but easily accomplished with matricies +): A' = A + [ [dx, dy] ]; ( add dx to each value in the first column and +dy to each in the second column)
I would help you with skew, but I don't know *how* you want to accomplish this. In colloquial terms, I'd imagine a stretch of some description, but I don't know what kind of parameters you've got.


Feel the white light, the light within
Be your own disciple, fan the sparks of will
For all of us waiting, your kingdom will come

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://505140]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (6)
As of 2023-02-02 11:09 GMT
Find Nodes?
    Voting Booth?
    I prefer not to run the latest version of Perl because:

    Results (17 votes). Check out past polls.