我正试图找到两个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;
};
答案 0 :(得分:2)
这不起作用吗?
V3D Midpoint(const V3D& A, const V3D& B)
{
return (A + B) / 2.0;
}
这只是在代码中写下您在问题中指定的内容。