- #1

- 238

- 6

This is my first post here. I hope this is the right forum for this question.

I am trying to come up with a linear transform to that will take as input a vector (x, y, z) and output a vector that is scaled in the direction of another vector.

For example:

Suppose I have the corners of a square defined by the four vectors

(4, 4, 0)

(-4, 4, 0)

(-4, -4, 0)

(4, -4, 0)

I want to scale those vectors by 50% in the direction specified by the vector < 1, 1, 0 >

I want to end up with the four vectors

(2, 2, 0)

(-4, 4, 0)

(-2, -2, 0)

(4, -4, 0)

The initial square has been “squashed” by 50% in the northeast/southwest direction.

Can anybody come up with a transform for that?