Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

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
Node Status?
node history
Node Type: note [id://505140]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2018-07-18 05:19 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (383 votes). Check out past polls.