我想知道是否有一种方法使用标准库,找到3D点的两个向量的交集。 3D点是带有x,y和z的glm :: vec3。 x,y和z是浮点数。最好的办法找到交叉路口的std ::三维矢量点,
我知道,我们可以在一维数组使用一个std :: set_intersection。
只是要清楚,我有2个向量:
std::vector<Point> v1;
std::vector<Point> v2;
,其中一点是:
struct Point {
glm::vec3 m_position;
glm::vec2 m_texCoord;
glm::vec3 m_normal;
Point() {}
Point(glm::vec3& pos, glm::vec2& tex, glm::vec3& norm) {
m_position = pos;
m_normal = norm;
m_texCoord = tex;
}
Point(glm::vec3& pos, glm::vec3& norm) {
m_position = pos;
m_normal = norm;
}
Point(glm::vec3& pos) {
m_position = pos;
}
};
我想找到一个Point.m_position的v1和v2交集。
谢谢你的帮助。
您是否可以定义交集,如果是指标准集合的理论交集?如果是这样,你能定义哪些操作数被交叉?还有这么一点是一个点数组,它们自己的数组? –