2015-12-07 4 views
0

Если мне даны угловые точки двух прямоугольных призмы в 3d-пространстве, один из которых центрирован вокруг (0,0,0) , в общих чертах, что было бы изящным и эффективным способом нахождения угловых точек наложенной прямоугольной призмы или ничего не возвращали, если две прямоугольные призмы не пересекаются?Учитывая угловые точки двух прямоугольных призм, найдите угловые точки наложенной прямоугольной призмы

+0

Оба призмы выровнены по оси? –

ответ

1

Я предполагаю, что под «пересекающейся прямоугольной призмой» вы подразумеваете пересечение двух призм. Кроме того, я предполагаю, что они выровнены по оси.

Пусть нижняя граница призмы A обозначается [xmina, ymina, zmina] и нижней границей призмы B на [xminb, yminb, zminb]. Аналогично, верхние границы обозначаются как [xmaxa, ymaxa, zmaxa] и [xmaxb, ymaxb, zmaxb].

Пересечение не является пустым тогда и только тогда, когда max(xmina, xminb) < min(xmaxa, xmaxb)^max(ymina, yminb) < min(ymaxa, ymaxb)^max(zmina, zminb) < min(zmaxa, zmaxb), где ^ означает «и».

Тогда нижняя и верхняя границы x пересечения даны как max(xmina, xminb) и min(xmaxa, xmaxb), аналогично для y и z.

Смежные вопросы