|
|
发表于 2008-4-22 23:47:00
|
显示全部楼层
Re:如何计算模型的包围盒?
刚写了一个,帮忙检查下是不是对的
//compute bouding sphere with a sphere and a point
void computeBoundingSphere(D3DXVECTOR3& center,float& radius,D3DXVECTOR3& pos){
D3DXVECTOR3 v = center-pos;
float dist = D3DXVec3Dot(&v,&v);
if(radius*radius<dist){
dist=sqrtf(dist);
radius = (dist+radius)*0.5f;
center = (radius/dist)*v+pos;
}
}
调用
D3DXVECTOR3 v[10],center;
float radius = 0.0f;
center = v[0];
for(int i = 0;i<10-1;i++){
computeBoundingSphere(center,radius,v[i+1]);
} |
|