📄 vector3.h
字号:
// Vector3.h: interface for the CVector3 class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_VECTOR3_H__05B37060_E2B2_4463_9D4B_A6B3791CC8BE__INCLUDED_)
#define AFX_VECTOR3_H__05B37060_E2B2_4463_9D4B_A6B3791CC8BE__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//#include "Matrix.h"
// 下面的宏定义计算一个矢量的长度
#define Mag(Normal) (sqrt(Normal.x*Normal.x + Normal.y*Normal.y + Normal.z*Normal.z))
class CVector3
{
//private:
// float _x,_y,_z;
public:
CVector3();
CVector3(double v);
CVector3(double v1,double v2,double v3);
virtual ~CVector3();
public:
double x, y, z;
public:
CVector3& Vector(CVector3 vPoint1, CVector3 vPoint2);
CVector3& AddVector(CVector3 vVector1, CVector3 vVector2);
CVector3& DivideVectorByScaler(CVector3 vVector1, double Scaler);
CVector3& MultiplyVectorByScaler(CVector3 vVector1, double Scaler);
CVector3& Cross(CVector3 vVector1, CVector3 vVector2);
double Multiply(CVector3 vVector1, CVector3 vVector2);
CVector3& Normalize(CVector3 vNormal);
//CMatrix ToMatrix41(int point);
CVector3& operator=(const CVector3& c);
CVector3& operator+=(const CVector3 v){return AddVector(*this,v);}
CVector3 operator-(const CVector3 &v)const;
CVector3& operator-=(const CVector3 v){return Vector(*this,v);}
CVector3 operator^(const CVector3 v)const;
CVector3& operator^=(const CVector3 v){return Cross(*this,v);}
double operator*(const CVector3 v)const;
CVector3 operator*(const double &scale)const;
CVector3 operator/(const double scale)const;
CVector3 operator+(const CVector3 &v)const;
CVector3 operator-()const;
BOOL operator==(const CVector3& v) const;
BOOL operator!=(const CVector3& v) const;
};
#endif // !defined(AFX_VECTOR3_H__05B37060_E2B2_4463_9D4B_A6B3791CC8BE__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -