Использование JavaScript для моделирования трехмерных многогранников

Существует ли библиотека JavaScript, которая моделирует трехмерные многогранники, используя тег canvas или SVG? Скажем, я хотел создать рендеринг платоновых тел, как мне лучше всего этого добиться? Кстати, меня интересуют только веб-браузеры на основе WebKit, такие как Safari и Chrome.

Я видел эту классную демонстрацию того, как визуализировать трехмерные треугольники, но как я могу распространить ее на многогранники с произвольным числом сторон?

3 ответа

Решение

Взгляните на эту библиотеку: SVG-VML-3D

Он использует SVG и возвращается к VML на MSIE. У них есть демо с платоническими телами. У меня нет удобного Webkit-браузера, но я предполагаю, что он должен работать там же.

Не прямой ответ на ваш вопрос, но, учитывая, что вы упомянули только WebKit, я подумал, что укажу на новую поддержку 3D CSS Transform, которая была добавлена ​​в webkit довольно недавно. Это позволяет вам делать то, что вы хотите, без использования Javascript. Я не видел пример трехмерных многогранников, но есть примеры кубов и т. Д. - например, здесь.

Здесь есть немного более сложная демонстрация с кольцом прямоугольников. Чтобы узнать, что вы можете сделать (хотя для анимации здесь используется Javascript), посмотрите демонстрацию Snow Stack.

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

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