|
|
发表于 2008-9-15 21:58:00
|
显示全部楼层
Re:求教,用包围合怎么检测碰撞?
public static Box Intersect(Box left, Box right)
{
Box r = new Box();
r.Min.X = Math.Max(left.Min.X, right.Min.X);
r.Min.Y = Math.Max(left.Min.Y, right.Min.Y);
r.Min.Z = Math.Max(left.Min.Z, right.Min.Z);
r.Max.X = Math.Min(left.Max.X, right.Max.X);
r.Max.Y = Math.Min(left.Max.Y, right.Max.Y);
r.Max.Z = Math.Min(left.Max.Z, right.Max.Z);
return r;
}
public bool Intersects(Box right)
{
return !Intersect(this, right).IsEmpty();
} |
|