Scaling at an arbitrary point and figuring out the distance from origin

9.2k Views Asked by At

Suppose I have a $8 \times 6$ rectangle, with its lower left corner at the origin $\left(0, 0\right)$. I want to scale this rectangle by $\frac{1}{2}$ at an anchor point $\left(3, 3\right)$. So the resulting rectangle is $4 \times 3$, but I cannot figure out how to compute the distance from the origin to the lower left corner of the new rectangle. Help is appreciated.

2

There are 2 best solutions below

8
On BEST ANSWER

Scaling by $0.5$ about the center $(3, 3)$ is the same as translating by $(-3, -3)$, scaling by $0.5$ about $(0, 0)$, then translating by $(3, 3)$. So, to find the coordinates of the lower left corner of the new rectangle, take the coordinates of the lower left corner of the original rectangle, subtract $3$ from each coordinate, multiply each coordinate by $0.5$, and add $3$ to each coordinate. Once you have the point's coordinates, you can find its distance from the origin.

0
On

If you want to scale by .5 with anchor (a,b), then (x,y) will be sent to ((a+x)/2,((b+y)/2), the midpoint of the segment connecting the two points.