0
저는 C++지도 컨테이너에서 3D 벡터를 키로 사용하고 있습니다. 두 벡터의 비교를 구현해야합니다. 벡터를 비교하기 위해 크기를 사용했습니다. 그러나 두 벡터가 다르지만 크기가 같을 때 문제가 발생하여 C++ 맵 컨테이너에서 키를 덮어 쓰게됩니다.두 3D 벡터 비교
작은 구현을 찾을 수 있습니다.
class Vector3f
{
public:
float x, y, z;
double magnitude() const { return sqrt(x*x + y*y + z*z); }
}
std::map<Vector3f, std::vector<int>, Vector3fCompare> vector_index;
struct Vector3fCompare
{
bool operator() (const Vector3f& lhs, const Vector3f& rhs) const
{
return lhs.magnitude() < rhs.magnitude();
}
};
두 벡터를 비교할 방법이 있습니까?
'벡터 3f'란 무엇입니까? 회원들은 어떤 회원입니까? – NathanOliver
흠, 좌표를 비교 하시겠습니까? 'std :: tie'는 엄격한 약한 순서를 깨지 않도록 도와줍니다. – LogicStuff
x, y, z 축에서 비교해 보시지 않겠습니까? (예를 들면) – Zouch