5
$\begingroup$

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.

  • 0
    Oh, I guess you're saying you really wanted a general way to find distances of transformed points.2010-10-01

2 Answers 2

5

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.

  • 2
    If the scale is c and the anchor is (a,b), then the new point is (cx+(1-c)a,cy+(1-c)b), as easily follows from Isaac's method.2010-10-01
1

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.