矢量数学函数用于中点计算

时间:2018-01-03 16:33:37

标签: c++ vector

我正试图找到两个3D矢量(A和B)的中点。我相信应该是VectorA + VectorB / 2会给出中点。但是我如何使用创建一个返回中点的函数,如V3D Midpoint(V3D A,V3D B);如果我有这样的类:

class V3D
{
public:

V3D(); 
V3D(float x, float y, float z);
~V3D();

V3D operator+( const V3D& V ) const; 
V3D operator(const V3D& V ) const; 
V3D operator*( float Scale ) const; 
V3D operator/( FLOAT Scale ) const; 

float dot( const V3D& V ) const; 
V3D cross( const V3D& V ) const; 
V3D Normal() const; // this vector's unit vector
float Size() const; // magnitude of this vector

private:
float X, Y, Z;
};

1 个答案:

答案 0 :(得分:2)

这不起作用吗?

V3D Midpoint(const V3D& A, const V3D& B)
{
return (A + B) / 2.0;
}

这只是在代码中写下您在问题中指定的内容。