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

📄 mmath.h

📁 涉及windows游戏编程中的一些源码
💻 H
字号:
/**********************************************************
  SimNature Ver1.0.0
  Copyright : Panliliang (Stanly Lee)
  2002 - 2003
  Alright reserved!
  All Noncommeric use is Free!

  潘李亮版权所有 
             2003-2003
  本程序的所有非商业化使用为免费代码。

  E- Mial: Panliliang@etang.com
		   Xheartblue@etang.com 




  模块名称:
  功能描述:

  版本:
  作者:

**********************************************************/
#ifndef _GL_MATH_
#define _GL_MATH_


#include "OpenGLCom.h"

typedef struct
{
	float x,y,z,w;
}MVECTOR,MPOINT;

typedef float (MMATRIX)[4][4];
MVECTOR operator -(MVECTOR& v1,MVECTOR& v2);
//MVECTOR operator +(MVECTOR& v1,MVECTOR& v2);
class CMath
{
public:
	float GetCosFromSin(float s);
	float GetSinFromCos(float);
	float Sin(int angle);
	float Cos(int angle);
   ~CMath();
    CMath();
	void    CrossNormal(MVECTOR& vec1,MVECTOR& vec2, MVECTOR& normal);
	void    Cross(MVECTOR& vec1,MVECTOR & vec2,MVECTOR& out);

	void    Normalize(MVECTOR& normal);
	void    MultVector(MVECTOR& vec1 ,   MVECTOR&  vec2, MVECTOR& vout);
	void    VectorAdd( MVECTOR& vec1 ,   MVECTOR&  vec2, MVECTOR& vout);
	float   LenVector( MVECTOR& vec);
	float   GetVectorClamp(MVECTOR& vec1,MVECTOR& vec2);

//两个正交的向量之间的旋转
	void    Rotate(MVECTOR& vn, MVECTOR& vout,float theta);
//一个点绕一条线的旋转
	void    RotatePoint(MVECTOR& vn,MPOINT& v,float theta);

//4个字节对齐
	int     Round4Byte(int n);
	BOOL   IsMagicNumber(int n)
	{
		return !(  (( n - 1)& n )  != 0);
	}

private:
	float*  m_cos;
    float*  m_sin;
};

extern CMath Math;
#endif


⌨️ 快捷键说明

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