我不确定在我的程序中是否做错了但是我可以使用一些快速指导,如果可能的话,而且很可能问题是我正在考虑它(这对我来说总是如此) )我想不出解释它的方法(因此这个问题的糟糕标题)并且给了我一点麻烦,只是谷歌搜索帮助。
我知道如何通过以下方式缩放对象:
double scale = 2.0;
Array<Real2> newPoints;
Foreach(Real2 point, points)
{
Vector2 vector = point - centerPoint;
vector *= scale;
newPoints.Add(center + vector);
}
但是,假设我想将对象的大小缩放3.6(单位)而不是百分比。我该如何处理?
至少对我来说这是有道理的,我会按照
的方式做点什么vector *= 1 - (3.6/vector.length);
但是我的应用程序运行结果仍然不正确。有关此问题的任何帮助吗?就像我说对不起,如果我错误地解释了这一点,那么当谈到那些东西时我很可怕所以如果有的话我可以澄清让我知道。谢谢你的帮助。
答案 0 :(得分:0)
似乎你想要缩放对象,以便它的新尺寸(例如)比它的旧尺寸大3.6个单位。在这种情况下,代码将是相同的,除了
scale = (old_size + 3.6) / old_size;
为了保持对象的整体形状,您仍然需要将每个向量缩放相同的数量。