Программное обеспечение для моделирования механических связей

Недавно я заинтересовался стренбибом Тео Дженсена, (если вы не видели их раньше, посмотрите на них! Такая невероятная инженерия.) И я хочу возиться с дизайном, который у него есть для ног его стренбистов. Однако, делать прямую кинематику не стоит у меня над головой за что-то подобное.

Вот что я пытаюсь смоделировать: https://upload.wikimedia.org/wikipedia/commons/6/61/Strandbeest-Walking-Animation.gif(Не могу напрямую связать, потому что у меня недостаточно репутации:/)

Все, что мне действительно нужно знать, это путь "стопы", поэтому что-то визуальное не нужно.

Конечная цель состоит в том, чтобы иметь возможность применить к нему эволюционный алгоритм и посмотреть, придумаю ли я те же длины связей, что и у Тео, или, может быть, каким-то образом улучшить их, поэтому, если бы у меня было какое-то программное обеспечение, позволяющее запускать сценарии, было бы идеально.

Извините, если вопрос немного неопределенный, я не совсем уверен, что я ищу. Даже если бы была какая-то математическая / инженерная тема, которая облегчила бы это, я бы с удовольствием изучил.

Спасибо! -Oisin.

1 ответ

Решение

Ну, я искал Physics Engine и нашел многообещающий результат.

Open Dynamics Engine - это физический движок с открытым исходным кодом, который может соответствовать вашим потребностям.

Open Dynamics Engine (ODE) - это бесплатная библиотека промышленного качества для моделирования динамики сочлененного твердого тела. Проверенные приложения включают в себя моделирование наземных транспортных средств, существ с ногами и движущихся объектов в средах виртуальной реальности. Он быстрый, гибкий и надежный, имеет встроенное обнаружение столкновений.

Источник: Вики Введение

Там есть сайт http://ode.org/, и, похоже, вы сможете оценить его оттуда. "[S] имитация динамики твердого тела" - это то, что вы хотите, верно? Из того, что я понимаю, это должно отвечать всем требованиям. C++, вероятно, является разумным языком, чтобы попробовать это. Я предполагаю, что у вас есть опыт программирования? Это не то, что я считаю проектом для начинающих.

Когда вы доберетесь до эволюции, ищите генетические алгоритмы. Они часто используются для оптимизации и могут значительно помочь. Еще одна вещь, которую нужно учитывать, - это то, что вы на самом деле оптимизируете (самая низкая скорость ветра, быстрое движение и т. Д.).

Другие вопросы по тегам