2012-07-12 58 views
2

我想获得三角形的数组,但我无法在几何对象中找到它。如何获取三角形的数组,3D对象是从哪里构建的?


。表面不是三角形。如果我创建一个立方体,然后脸看起来是这样的:

"faces": [{ 
    "a": 0, 
    "b": 2, 
    "c": 3, 
    "d": 1, 
    ... 

这些多边形,不是脸。 faces

+0

”这些是多边形,而不是面孔“ - umm,faces == polygons – corsiKa 2012-07-12 16:03:38

+0

我可以看到另一个定义,其中'face'被定义为'coplanar polygons'。作为从事游戏开发和热模拟领域建模工作的人员,我可以告诉你,大多数情况下,面和多边形是可互换的术语。根据他的文件中所用的术语来看,three.js的作者似乎也同意这种评估。 – corsiKa 2012-07-12 16:15:50

+0

那么如何获得一个脸部的三角形,如果它包含3个以上的顶点? – 2012-07-12 16:35:38

回答

1

如果您将Face4转换为faces,那么在调用人脸时最终会出现四元组。如果你将Face3转换成faces,那么你会得到一个三角形。如果您拨打致电faces,则您推送了Face4

如果你问的是如何从四元组中获得三元,这是一个不同的问题。

基本上,知道四元组的“顺序”是A B C D,您通常可以说A B CA C D是三角形,它们将共享四元组的近似法线。 (我看到近似值,因为四元组可能会略微偏斜,点的共面越小,偏斜越明显,法线的差异越大)。

现在,还有其他组合将工作。最简单的方法是在纸上画出A B C D,并注意方向(顺时针或逆时针)。只要你的tris也是同样的方向(它曾经是这样),那么你会很好。显然,如果A B C是有效的三,那么B C AC A BA C D也是C D AD A C。但是如果你想要的话,你也可以把它分成另一个对角线,并且形成A B DB C D。按照之前的逻辑,为这些创建其他相同的三角形。 “

1

这不是“.faces”的工作吗?见here

+0

我编辑了这个问题 – 2012-07-12 16:01:04