【发布时间】:2012-07-15 15:33:02
【问题描述】:
对于给定的地形,如何计算其表面积?
到目前为止,我计划使用 Three.js 构建地形,例如:
var geo = new THREE.PlaneGeometry(300, 300, 10, 10);
for (var i = 0; i < geo.vertices.length; i++)
geo.vertices[i].y = someHeight; // Makes the flat plain into a terrain
接下来,如果可以遍历几何体的每个底层三角形(即,给 WebGL 数组的 TRIANGLE_STRIP 三角形),则可以对每个三角形的面积求和以获得总表面积。
这种方法听起来正确吗?如果是,如何确定单个三角形的顶点?
欢迎任何其他在 WebGL/Three.js 中构建地形的想法。
【问题讨论】:
-
你打算用表面积值做什么?
-
@Kevin Hmmm... 这是我需要实施的规范的一部分,老实说,我也不知道应用程序的用户会用它做什么。如果您能指出正确的方向,那就太好了。
-
最初我认为可以用一组已知点(点云)构建地形,然后重建其表面;但事实证明这并不简单,需要使用诸如 Delaunay Triangulation 之类的算法。 THREE.PlaneGeometry 似乎是另一个不错的解决方案。