Как реализовать динамику твердого тела, предварительно просмотренную WPF 3D
В настоящее время я сталкиваюсь с проблемой с WPF 3D с использованием C#. Проще говоря, мне нужно анимировать какую-то простую механическую деталь, перемещая только два из них (по одному или оба вместе). Вот простой рисунок, изображающий ситуацию:
Таким образом, перемещая (переводя) вертикально части P1 или P2, все должно двигаться соответствующим образом.
Я думаю, что это можно сделать, вычислив множество углов и применяя многочисленные преобразования, но это не моя цель.
Поэтому я хотел бы представить что-то вроде соединения частей вместе с помощью точки поворота.
Какой предпочтительный способ сделать это для предварительного просмотра с помощью WPF 3D?
2 ответа
WPF 3D, Ogre, Mogre, OpenTK... библиотеки для отображения. Они не имеют ничего общего с расчетами механических ограничений. Но они хорошо сочетаются с физическими двигателями.
WPF 3D - это подмножество WPF, посвященное 3D-рисованию. Если вам нужно 2D, то достаточно WPF.
Поскольку ваш проект выглядит 2D, вы можете захотеть взглянуть на Farseer Physics, который является портом Box 2D. Функция, которая вам нужна, называется суставами. Обе библиотеки предназначены для разработки 2D-игр, но их можно использовать для простой кинематической анимации, и Farseer Physics отлично справляется с WPF.
Это простая проблема для любого пакета 2D кинематики.