как определить точку пересечения объектов
Приветствую!
Может, кто-то уже сталкивался с такой задачей. Есть соприкасающиеся объекты, необходимо максимально точно определить координаты точки их касания. Реально ли это сделать в максе? Или только в сапрах? Спасибо.
Здравствуйте, вопрос не совсем ясен. Желательно подробнее написать, что вы имеете ввиду "точка касания". Может быть имеется ввиду касание гранями? Тогда надо уточнить какими являются грани: плоскими прямыми или кривыми. А ещё лучше покажите изображение. И ещё хотелось бы знать зачем вам это нужно. Возможно, можно найти другое решение.
Приветствую!
Два шара (гладкая поверхность) касаются друг друга в одной точке. Это макет будущей реальной конструкции, координаты точки касания нужны для обозначения места скрепления шаров. Шары достаточно крупные, разные по размеру, диаметр до 250 см, расположены друг над другом, а погрешность обозначения места крепежа не должна превышать 5 см.
В принципе, уже нашла более-менее приемлемый способ с переносом модели в скетчап, но это все равно метод "на глазок"... В интернете решение подобных задач, как правило, уводит в сторону математических формул...
Что ж всё понятно. Способ есть, но вы должны понимать, что два объекта смогут соприкасаться только в одной точке (а в действительности - это будет соприкосновение вершин) в том случае, если эти два объекта: а) одного размера, б) имеют одинаковое количество граней. В вашем примере из рисунка видно, что объекты хотя бы одно из этих условий не удовлетворяют. Поэтому, у высоко полигональных объектов в "точку соприкосновения" могут попасть несколько граней, а значит "точка соприкосновения" будет условной.
(низко полигональные сферы одного размера и с одинаковым количеством граней соединяются вершинами).
(несколько граней малой сферы соприкоснулись с гранью большой сферы).
Теперь, как определить координаты....
Покажу на низко полигональных сферах, чтобы был понятен способ.
Чтобы не вносить преобразования в оригинальные модели вашей сцены, клонируйте их и далее работайте с клонами (ведь вам нужно всего лишь узнать координаты "точки соприкосновения", а способ требует преобразований.
Выделяем зелёную сферу и при помощи операции Boolean объединяем с жёлтой сферой. Обратите внимание, чтобы в разделе Operation стояло выделение Union.
Далее две сферы, которые являются операндами Boolean, преобразуем в Editable Poly
Нажмём F3 чтобы лучше разглядеть точку соприкосновения и в разделе Selection свитка Modify нажмём подобъект вершины.
В окне проекции точка соприкосновения автоматически выделится. Теперь можно узнать её координаты наведя курсор на значок Select and Move и нажав правой кнопкой мыши на него, в появившейся табличке Move Transform Type-In
Теперь можно записать координаты, удалить клоны и вернуться к объектам-оригиналам.
Попробуйте применить этот способ к высоко полигональным объектам. У меня в "точку соприкосновения" попадало несколько вершин из-за того, как я уже говорил, что в соприкосновении участвуют несколько граней. Какую точку взять за "точку соприкосновения" вам решать.
Успехов!
Добрый день.
Еще один способ:
В максе возможно выставлять точки привязки которые и будут координатами объекта.
После чего объекты можно выровнять инструментом Align Selection по центрам привязки.
В итоге получим точные координаты соприкоснавения. Главное точно выставить точки привязки, но это не сложно зная размер элемента.
Хочу добавить. Точку привязки так же можно выставить на край объекта инструментом Align Selection
огромное спасибо вам)