⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vector.h

📁 小游戏 有碰撞检测和音乐 使用键盘openal
💻 H
字号:
#pragma once
#include <cmath>
#include <float.h>

struct CVector
{
public :
	CVector() : x( 0.0f ), y( 0.0f ), z( 0.0f )
	{}
	CVector( float x, float y, float z ) : x( x ), y( y ), z( z )
	{}
	float x, y, z;

	float Magnitude() 
	{ 
		return sqrt( x*x + y*y + z*z ); 
	}
	CVector Normalize()
	{
		float m = Magnitude();
		return CVector( x/m, y/m, z/m);
	}
	CVector operator + ( CVector v ) 
	{
		return CVector ( x + v.x, y + v.y, z + v.z );
	}
	CVector operator - ( CVector v ) 
	{
		return CVector ( x - v.x, y - v.y, z - v.z );
	}
	void operator += ( CVector v ) 
	{ 
		x = v.x + x; y = v.y + y; z = v.z + z; 
	}
	CVector operator * ( float scale ) 
	{ 
		return CVector( x * scale, y * scale, z * scale );
	}
	CVector operator ^ ( CVector v )
	{
		return CVector( y * v.z - z * v.y,
		-x * v.z - z * v.x,
		x * v.y - y * v.x );
	}
	float operator * (CVector v)
	{ 
		return x*v.x+y*v.y+z*v.z;
	}

};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -