Как опеределить Пересечение кубов.
Есть кубоид заданный противоположными диагональными точками.
например
Point1 { -185, 64, 140};
Point2 {-185, 66, 154};
Известно что он расположен параллельно плоскости. (то есть угол поворота не нужен)
И есть еще 1 кубоид то же под углом 0 градусов.
например
Point1 {100, 64, 140};
Point2 {150, 10, -54};
Надо выяснить пересекается ли, или содержится ли Второй внутри первого.
Пишу на C#
С содержанием на вид просто
public static Boolean ItIsContent(Cuboid Cub1, Cuboid Cub2)
{
if (
((Cub2.Point1.X >= Cub1.Point1.X) && (Cub2.Point1.Y >= Cub1.Point1.Y) && (Cub2.Point1.Z >= Cub1.Point1.Z))
&&
((Cub2.Point2.X <= Cub1.Point2.X) && (Cub2.Point2.Y <= Cub1.Point2.Y) && (Cub2.Point2.Z <= Cub1.Point2.Z))
)
return true;
else
return false;
}