Страница 1 из 1

Тетраэдр из шаров

СообщениеДобавлено: 01 сен 2023, 15:33
DikyAV
Здравствуйте.

Подскажите, пожалуйста, как запрограммировать, или хоть в каком направлении думать ))
Три шара в вершинах тетраэдра движутся навстречу друг другу к условному центру.

При соприкосновении шаров внутри образуется зона пустоты.
Как ее можно выделить графически?
Шары полупрозрачные.

Изображение

Потом шары вдавливаются друг в друга. И опять нужно выделить зону наложения - тетраэдр Рело.

Изображение

Re: Тетраэдр из шаров

СообщениеДобавлено: 01 сен 2023, 16:26
1max1
Какой-то сложный intersection шейдер нужен, типа такого наверное https://forum.unity.com/threads/highlig ... st-5354847

Re: Тетраэдр из шаров

СообщениеДобавлено: 03 сен 2023, 19:26
alew
Все вершины меша шара сохраняешь в список, или массив, как удобней. Сортируешь слева на право(в полярных), сверху вниз, для того, чтоб потом меньше заморечек было, при построении фигуры, для нахождения пересекающихся областей. Из центра шара бросаешь луч в каждую вершину из списка. При пересечении луча запоминаешь точку и номер вершины. По полученным точкам строишь новый меш. Находишь точки пересечения мешей. По полученным точкам строишь тетраэдр.

Re: Тетраэдр из шаров

СообщениеДобавлено: 03 сен 2023, 20:09
waruiyume
А потом дорисовываешь оставшуюся сову.

DikyAV, На сторе есть готовые решения для CSG моделирования.

Re: Тетраэдр из шаров

СообщениеДобавлено: 04 сен 2023, 10:40
DikyAV
Ок, спасибо .