首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

哪位高手给小弟我一个比较完善的3D的OBB类

2012-03-11 
谁给我一个比较完善的3D的OBB类啊我像无头苍蝇一样找了一天了还是没有找到合适的。。。重谢![解决办法]这好象

谁给我一个比较完善的3D的OBB类啊
我像无头苍蝇一样找了一天了
还是没有找到合适的。。。

重谢!

[解决办法]
这好象蛮繁琐的,首先你要求出中心点,在求协方差矩阵和他的特征向量,从而求出主轴,然后你在求点积,求出最大和最小值,然后求出新区间大小,在调整中心点
[解决办法]
// Our basic orientedbox class
class __declspec(dllexport) ZFXObb {
public:
float fA0, fA1, fA2; // half axis length
ZFXVector vcA0, vcA1, vcA2; // box axis
ZFXVector vcCenter; // centerpoint

//---------------------------------------

ZFXObb(void) { /* nothing to do */ ; }

inline void DeTransform(const ZFXObb &obb,
const ZFXMatrix &m);

bool Intersects(const ZFXRay &Ray, float *t);
bool Intersects(const ZFXRay &Ray, float fL, float *t);
bool Intersects(const ZFXObb &Obb);
bool Intersects(const ZFXVector &v0,
const ZFXVector &v1,
const ZFXVector &v2);

int Cull(const ZFXPlane *pPlanes, int nNumPlanes);

private:
void ObbProj(const ZFXObb &Obb, const ZFXVector &vcV,
float *pfMin, float *pfMax);
void TriProj(const ZFXVector &v0, const ZFXVector &v1,
const ZFXVector &v2, const ZFXVector &vcV,
float *pfMin, float *pfMax);
}; // class

热点排行