BoatWave.h
上传用户:henghua
上传日期:2007-11-14
资源大小:7655k
文件大小:1k
- #ifndef _boatwave_h_
- #define _boatwave_h_
- #include <d3dx9.h>
- #define w_size 128 // 尾迹场阵的网格大小
- #define h_size 128
- #define act_w_size 64 // 尾迹场阵实际的空间作用范围
- #define act_h_size 64
- #define center_size 32 // 尾迹场阵中心区域的实际空间作用范围
- #define dt 0.1
- // 尾迹场类
- class CBoatWave
- {
- public:
- int width, height;
- float actualw, actualh;
- float centersz;
- D3DXVECTOR2 corner00, corner01, corner10, corner11; // 尾迹场四个边角点的空间坐标值
- D3DXVECTOR2 center00, center01, center10, center11; // 尾迹场中心作用区域四个边角点的空间坐标值
- float waveHeight[3][w_size][h_size];
- int pre0, pre1, cur;
- float A; // 扰动参数
- float e; // 衰减系数
- float c; // 波传播速度
- public:
- CBoatWave(void);
- CBoatWave(float boatx, float boatz);
- // 激励函数
- void Stimulate(float posx, float posz, float v);
- // 造波函数
- void MakeWave();
- // float到int转换函数
- void FloatToInt(float &fx, float &fy, int &ix, int &iy);
- // 整体平移函数
- void GridTranslate(float boatx, float boatz);
- // 获取波高函数
- float GetHeight(float x, float y);
- // 更新函数
- void Update(float x, float z, float v);
- public:
- ~CBoatWave(void);
- };
- #endif