Использование JavaScript для моделирования трехмерных многогранников - PullRequest
3 голосов
/ 18 июля 2009

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

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

Ответы [ 3 ]

4 голосов
/ 18 июля 2009

Посмотрите на эту библиотеку: SVG-VML-3D

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

1 голос
/ 18 июля 2009

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

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

0 голосов
/ 18 июля 2009

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

...