Jea*_*e-B 3 3d javafx javafx-2 javafx-8 javafx-3d
有没有办法执行布尔运算,如联合,交叉和JavaFX 3D对象之间的差异,例如,在Sphere实例,Cylinder实例和Box实例之间.
从Shape类继承的JavaFX 2D对象已经有了union()和subtract()方法 http://docs.oracle.com/javase/8/javafx/api/javafx/scene/shape/Shape.html
我想知道JavaFX或F(X)yz库中的Shape3D对象是否有这样的东西.如果不是,我很想知道实施这些操作的最佳方法.
亲切的问候,
正如@ jdub1581所说,在JavaFX中,没有直接的方法来获得具有3D原始形状的布尔运算.
这并不意味着在您知道或提供网格信息的情况下无法执行这些操作.
虽然F(X)yz库具有许多复杂的3D 形状,但是网格信息完全提供,它不会对它们执行布尔运算.
3D布尔运算是构造实体几何技术的基础.CSG实体是使用布尔运算(并集,交集,差异)从几个基元(立方体,棱柱,球体,圆柱体,圆锥体和圆环面)构造的.
这种技术有一种基于Java的实现,即JCSG.来自Michael Hoffer,他的作者:
基于BSP的CSG(构造实体几何)的Java实现.它是我所知道的唯一简单且免费的Java实现.该实现使用基于csg.js的优化CSG算法.
基于该实现,JFXScad是一个基于JavaFX的项目,使用JCSG创建可以3D打印的复杂形状,或导出为STL/OBJ.
使用此项目,您可以在左侧面板上键入,并在右侧生成3D形状.这是可用的样本之一:

正如你所看到的,一些武器被挤压创建,并联合Cylinder使用S union,difference,...
| 归档时间: |
|
| 查看次数: |
1757 次 |
| 最近记录: |