Есть ли способ создать механические отношения между моделями в P5.js?

Я хотел бы использовать P5.js для рендеринга 3D-моделей на моем веб-сайте, и я хотел бы иметь движущиеся части, которые можно регулировать. В качестве примера я взял из Интернета следующую картинку: введите здесь описание изображения

Глядя на этот инструмент, можно увидеть 5 основных частей, которые составляют все это. В SolidWorks я мог экспортировать отдельные детали в виде файлов .obj или всю сборку в виде одного файла .obj. Что касается возможности расширять и сокращать эту модель, я не смог найти ничего, что подчеркивало бы выполнение чего-то подобного в P5.js, или есть ли способ предоставить какой-либо тип ограничений, чтобы он правильно логически выводился. как он должен двигаться без необходимости наноанимировать целую кучу вещей, чтобы заставить его двигаться так, как вы, естественно, ожидаете. Я не знаю, смогу ли я сделать что-то подобное из модели сборки или мне нужно будет импортировать каждую часть в P5, а затем повторить и собрать инструмент, я действительно не знаю, с чего начать. . Есть ли у кого-нибудь опыт обращения с чем-то таким?


person Optiq    schedule 09.12.2019    source источник


Ответы (1)


Вам нужно будет разделить проблему на более мелкие более простые куски. Например:

  1. загрузка сетки частей
  2. собрать части
  3. моделировать части

Для части 1 с p5 вы должны иметь возможность использовать loadModel() для загрузки каждого файла .obj.

Что касается сборки деталей, вы должны иметь возможность использовать push()/pop(), чтобы изолировать координатные пространства и сгруппировать части.

Более сложной частью будет симуляция, где вы можете быть простым и ограниченным или сложным.

Самое простое, что я могу придумать, это набор ключевых кадров: ключевые углы для частей, которые интерполируются. между.

Более сложным вариантом может быть моделирование системы с использованием пружинной системы с жесткими пружинами (ограниченная длина покоя). Детали, вырезанные лазером, выглядят как экструдированные 2D-формы, которые привязаны к 2D-плоскости с точки зрения движущихся частей.

Если вам нужна полная 3D-симуляция твердого тела, вы можете попробовать физический движок, такой как ammo.js< /а>

Эта часть звучит запутанно:

Я хотел бы иметь движущиеся части, которые можно регулировать.

Если части можно настроить, то загрузка файлов .obj может оказаться нецелесообразным, если только у вас нет модели для каждой настраиваемой версии (для загрузки потребуется много файлов). Возможно, вам придется поискать сделать эти фигуры параметрическими:

person George Profenza    schedule 10.12.2019