Q:

Scaling objects from a center point by a specific number

I'm not sure if doing something wrong in my program or not but I could use some quick guidance if you could and more than likely the problem is I'm thinking to hard about it (which is always the case for me) and I can't think of the way to explain it (hence the crappy title of this question) and gave me a little trouble simply Googling for help.
I'm aware of how to scale an object by way of:
double scale = 2.0;
Array<Real2> newPoints;
Foreach(Real2 point, points)
{
Vector2 vector = point - centerPoint;
vector *= scale;
newPoints.Add(center + vector);
}

However let's say I wanted to scale the size of the object by 3.6(units) instead of by a percentage.. How would I go about that?
It made sense to me at least that I would do something along the lines of
vector *= 1 - (3.6/vector.length);

but I'm still getting incorrect results running my application. Any help on this issue? Like I said sorry if I explained this incorrectly, I'm horrible when it comes to that stuff so if there's anyway i can clarify let me know. Thank you for your help.

A:

It seems that you want to scale the object so that it's new size is (say) 3.6 units larger than it's old size. In that case, the code would be the same except for
scale = (old_size + 3.6) / old_size;

You still need to scale each vector by the same amount, in order to preserve the overall shape of the object.

