gpt4 book ai didi

c++ - Qt:在QMap中找到最接近的QVector3D

转载 作者:太空狗 更新时间:2023-10-29 23:13:14 25 4
gpt4 key购买 nike

我有一个像这样的 QMap:

"1" (0.183,-0.232,0.747)
"2" (1.232, 1.322,-0.123) etc.

我需要一个输入为 QVector3D 且输出最接近的函数输入 vector 的关键。

例如:

InputVector(0.189,-0.234,0.755) -> Output: "1"

有什么办法解决这个问题吗?

最佳答案

只需遍历 map 并检查距离:

int getClosestKey(const QVector3D & ref, const QMap<int, QVector3D> & map)
{
int closestKey = -1;
double minDistance = std::numeric_limits<double>::max();
for (auto itr = map.constBegin(); itr != map.constEnd(); ++itr)
{
double d = ref.distanceToPoint(itr.value());
if (d > minDistance)
continue;

closestKey = itr.key();
minDistance = d;
}

return closestKey;
}

关于c++ - Qt:在QMap中找到最接近的QVector3D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40736645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com