Литвинов Александр
Литвинов Александр

Как опеределить Пересечение кубов.

Есть кубоид заданный противоположными диагональными точками.
например
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;
}

Азиза Бахронова
Азиза Бахронова

В вашем случае вам не надо заморачиватся 3д-графикой. У вас ответ можно найти и при анализе по отдельным осям.
Но первый куб, который вы описали через диагональ - какой-то не куб вообще, у него одна сторона - 0, вторая 2, а третья - 4. Второй - тоже самое.

Похожие вопросы
как опеределить местонахождение компьютера если знаю IP ???
как в autocad сделать куб?
как опеределить совсестимость в сексе ?
Как опеределить пол пецилии баллон?
Пересечение двух отрезков, компьютерная графика
как опеределить наличие приворота?
Помогите опеределить пол АКАРЫ
Как нарисовать куб? / Delphi
объединение и пересечение списков (динамический односвязный список) что значит "объединение и пересечение "?
Помогите опеределить что это за телефон