使用JavaScript建模3D多面体

时间:2009-07-17 23:45:33

标签: javascript canvas svg polyhedra

是否有使用canvas标记或SVG建模3D polyhedra的JavaScript库?假设我想制作Platonic solids的效果图,我最好如何实现这一目标? FWIW,我只关注基于WebKit的Web浏览器,例如Safari和Chrome。

我已经看到了如何渲染3D triangles的这个很酷的演示,但我怎么能将它扩展到具有任意数量边的多面体?

3 个答案:

答案 0 :(得分:4)

看看这个图书馆:SVG-VML-3D

它使用SVG并在MSIE上回退到VML。 他们有一个带有柏拉图固体的演示。我没有Webkit浏览器,但是假设它也应该在那里工作。

答案 1 :(得分:1)

不能直接回答你的问题,但看到你提到WebKit时,我认为我会指出最近添加到webkit的新3D CSS Transform支持。这允许您在不使用任何Javascript的情况下执行您想要的操作。我没有看到3D多面体的例子,但有些立方体等的例子 - 例如here

有一个稍微复杂的演示here,它有一个矩形环。要真正了解您可以做什么(尽管这确实使用Javascript进行动画制作) - 请参阅Snow Stack演示。

答案 2 :(得分:0)

大多数3D库概括了三角形。如果想要一个具有3个以上边的多边形,可以将其细分为三角形并绘制这些三角形。如果你只对柏拉图固体感兴趣,那么你将有一个相当容易的时间,因为你可以通过首先平均每个面的顶点,然后使用该中心和两个相邻的方法轻松获得每个面的三角形脸的顶点给你一个三角化。