Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JaveFX三角网金字塔-它能工作,但为什么?_Java_Javafx - Fatal编程技术网

Java JaveFX三角网金字塔-它能工作,但为什么?

Java JaveFX三角网金字塔-它能工作,但为什么?,java,javafx,Java,Javafx,制作一个四面金字塔在一些文本中有“轻松”的解释,如下所示: pyramid.getPoints().addAll(0,0,0); //0 = top pyramid.getPoints().addAll(0, height, -hypotenuse/2); //1 = closest pyramid.getPoints().addAll(-hypotenuse/2, height, 0); //2 = leftest pyramid.getPoints().addAll(hypotenuse/2

制作一个四面金字塔在一些文本中有“轻松”的解释,如下所示:

pyramid.getPoints().addAll(0,0,0); //0 = top
pyramid.getPoints().addAll(0, height, -hypotenuse/2); //1 = closest
pyramid.getPoints().addAll(-hypotenuse/2, height, 0); //2 = leftest
pyramid.getPoints().addAll(hypotenuse/2, height, 0); //3 = furthest
pyramid.getPoints().addAll(0, height, hypotenuse/2); //4 = rightest

pyramid.getTexCoords().addAll(0, 0);

pyramid.getFaces().addAll(0,0,2,0,1,0); //Left front side
pyramid.getFaces().addAll(0,0,1,0,3,0); //???
pyramid.getFaces().addAll(0,0,3,0,4,0); //Right back side
pyramid.getFaces().addAll(0,0,4,0,2,0); //???
pyramid.getFaces().addAll(4,0,1,0,2,0); //Bottom triangle at front???
pyramid.getFaces().addAll(4,0,3,0,1,0); //Bottom triangle right???
这很有效,但我不明白

添加的第二个面具有顶点0、1、3,因此(参考图)。。。它把金字塔切成两半。据我所知,这不是一张外表。 与第四个面相同,只是现在切片与第二个面正交。然后是最后两个面,应该是构成金字塔方底的三角形。第一个从顶点4到顶点1再到顶点2,所以。。。这是金字塔底部的前三角形(我想是这样的)。所以我期望顶点2,3,4形成金字塔底部的后三角形,但在最后一行代码中我们看到顶点4,3,1,它(根据我的逻辑)构成金字塔底部的直角三角形,即不补充金字塔底部的前三角形。有人能解释一下这个简单的几何难题吗?有没有合适的深度资源可以让我学习


非常感谢-Michael

顶点的正确编号是(为绘制粗糙的图像道歉):

通过在x-z平面中绘制顶点1-4,可以非常清楚地看到:

1:(0,-h/2)
2:(-h/2,0)
3:(h/2,0)
4:(0,h/2)

因此,这些面孔

(0,2,1)
(0,1,3)
(0,3,4)
(0,4,2)
(4,1,2)
(4,3,1)

请准确描述您想要的三角形。

我对这一点不熟悉。我的问题在哪方面不是最小的、完整的、可验证的?我不能复制并粘贴它在我的机器上运行。这意味着它不完整。顶点3和4在图像中看起来是颠倒的。(只需忽略顶点1-4中的(相同的)y坐标,并在2D中绘制它们。)如果转置这两个顶点,所有面都有意义。非常感谢!这在我买的书(JavaFX示例介绍)中显然是错误的,其中的注释建议按照我的图进行排序,但你当然是对的,我应该查看传递给mesh.getPoints.addAll(…)的实际值。抱歉,再次感谢…。@M.Kemper如果此答案解决了您的问题,请单击左侧的复选标记图标接受。很高兴这样做,如果我能找到该复选标记图标。。。你/谁能解释一下那在哪里吗迈克尔