Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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
JavaFX三维空间中的二维形状_Javafx_2d_Javafx 8_Polyline_Javafx 3d - Fatal编程技术网

JavaFX三维空间中的二维形状

JavaFX三维空间中的二维形状,javafx,2d,javafx-8,polyline,javafx-3d,Javafx,2d,Javafx 8,Polyline,Javafx 3d,我知道,如果我旋转一个对象,它扩展了javafx.scene.shape.shape,我可以将它转换为3D空间,即使它最初设计为2D(至少据我所知) 假设我有一个3D场景(使用透视摄影机和深度缓冲区),其中出现了各种MeshViews。一些用于区域,另一些用于线。在这两种情况下,必须对这些形状进行三角剖分,以便使用三角网格绘制它们,这通常是不常见的 现在,当我将这些线的绘制更改为使用Polyline类时,性能崩溃非常可怕,并且出现了奇怪的伪影。我认为我可以受益于这样一个事实,即多段线具有较少的顶

我知道,如果我旋转一个对象,它扩展了
javafx.scene.shape.shape
,我可以将它转换为3D空间,即使它最初设计为2D(至少据我所知)

假设我有一个3D场景(使用透视摄影机和深度缓冲区),其中出现了各种
MeshView
s。一些用于区域,另一些用于线。在这两种情况下,必须对这些形状进行三角剖分,以便使用
三角网格
绘制它们,这通常是不常见的

现在,当我将这些线的绘制更改为使用
Polyline
类时,性能崩溃非常可怕,并且出现了奇怪的伪影。我认为我可以受益于这样一个事实,即多段线具有较少的顶点,并且开发人员不必以编程方式进行三角剖分

是否不鼓励在3D空间中使用扩展的形状
javafx.scene.shape.shape
?它们是如何在内部绘制的?

如果在JavaFX中的问题是“我应该在3D空间中使用2D形状对象吗?”那么答案是否定的,因为您将看到所有糟糕的性能。不过,听起来您似乎在试图弥补JavaFX使用2D对象并在3D空间中旋转它们的3D多段线对象的不足。如果这是真的,请使用免费的开源F(X)yz库:

例如,PolyLine3D类允许您简单地指定Point3Ds的列表,并为您连接它们:

/src/org/fxyz/shapes/composites/PolyLine3D.java

您可以在测试目录中看到如何使用它的示例代码:

/src/org/fxyz/tests/PolyLine3DTest.java