有一个 setLength 函数可以将向量(几何)的长度更改为指定的参数而不改变其方向。
这是功能
Vector2f setLength(Vector2f startPos, Vector2f currentPos, double neededLength)
{
double currentLength = getLength(startPos, currentPos);
//getLength - отдельная написанная мною функция, возвращает длину вектора
double factorLength = neededLength / currentLength;
//factorLength - коэффициент разности нужной длины и текущей
return Vector2f(currentPos.x * factorLength, currentPos.y * factorLength);
}
函数本身必须以给定的长度和相同的方向返回向量末端的坐标
但由于某种原因,向量的最终长度与所需的长度不对应(有时更多,有时更少)。此外,矢量本身的方向也会发生变化。这绝对不是getLength的错误,那里的一切都尽可能简单(根据勾股定理的向量长度),但我仍然会指出它
double getLength(Vector2f firstdot, Vector2f seconddot)
{
return sqrt(pow(firstdot.x - seconddot.y, 2) + pow(firstdot.y - seconddot.y, 2));
}
提前致谢
因为你不知道什么是“向量”。