将对象从中心点缩放特定数字
Scaling objects from a center point by a specific number
我不确定是否在我的程序中做错了什么,但如果可以的话,我可以使用一些快速指导,而且很可能问题是我正在考虑努力解决这个问题(对我来说总是如此),我想不出解释它的方法(因此这个问题的标题很糟糕),并且只是在谷歌上搜索寻求帮助,这给了我一点麻烦。
我知道如何通过以下方式缩放对象:
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);
但是运行我的应用程序时我仍然得到不正确的结果。关于这个问题有什么帮助吗?就像我说对不起,如果我解释不正确,当涉及到这些东西时,我很糟糕,所以如果有的话,我可以澄清让我知道。谢谢你的帮助。
似乎您想缩放对象,使其新大小(例如)比旧大小大 3.6 个单位。在这种情况下,代码将是相同的,除了
scale = (old_size + 3.6) / old_size;
您仍然需要按相同的量缩放每个矢量,以保留对象的整体形状。
相关文章:
- UE4-如何在给定4个屏幕坐标的情况下缩放纹理或材质
- 计算缩放多边形的比例,得到给定的多边形面积
- QwtPlot具有相等的轴和自动缩放
- 如何在directx/c++中进行平移/缩放操作
- 在Qt中实现无限可缩放的画布
- 是否可以为 QPixmap 派生类嵌入缩放方法?
- 形状对象的旋转和缩放不正确C++
- 如何在 OpenSceneGraph 中缩放/旋转/移动资产
- 如何在OpenGL(GLFW,很高兴)中进行2D缩放?
- 改变或缩放两个正态分布以具有特定的相关系数
- SDL2 调整窗口大小后如何缩放鼠标坐标?
- 如何在OpenGL中正确旋转和缩放对象?
- 仅当类型为 std::complex 时,才进行缩放
- 将 VS Code 用于跨平台可缩放C++项目
- 根据帧速率缩放/缩小数字
- 在 c++ 中缩放浮点值
- 如何防止 DirectX C++程序的拉伸/缩放
- 使用提升几何缓冲区缩放多边形时的冗余折点
- 为什么我不能使用 Sphere 来缩放字形?
- 将对象从中心点缩放特定数字