javaFX图形——几何3D

本文详细介绍了JavaFX中3D特性的使用,包括预定义几何图形和自定义三角网创建方法。通过实例展示了如何创建长方体、圆柱体和球体等3D对象,以及如何使用三角网创建更复杂的3D模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面根据官网的教程,简单的做了一个javaFX的HelloWorld的入门程序以及做了一个用户的登录界面,用来了解学习javaFX中如何使用CSS,FXML的一些基本知识,相信大家都对javaFX有了一个初步的了解和认识。现在,我们开始学习javaFX的中3D特性。本文开始从javaFX中的3D几何讲起。

javaFX提供了两种方式,让我们来创建3D几何图形。

1.预定义几何图形

2.自定义几何图形

预定义几何

预定义3D几何提供了一种轻松简单的方式让我们快速的创建3D对象,它包含了如下几何,长方体,圆柱体,球体,如下图所示:

关于javaFX中的几何3D类的层级关系如下图所示:它包括了MeshView类(这是一个指定3D网格数据展示类),同时也包含了长方体(Box),圆柱体(Cvlinder),和球体(Sphere)


我们可以使用如下事例创建预定义的3D几何图形:

创建一个长方体对象,需要指定其宽,高,深度的规格大小

<span style="font-size:14px;">Box myBox = new Box(width, height, depth);</span>
创建一个圆柱需要指定其半径和高:

<span style="font-size:14px;">Cylinder myCylinder = new Cylinder(radius, height);</span>
创建一个球体需要指定半径:

<span style="font-size:14px;">Sphere mySphere = new Sphere(radius);</span>

自定义的3D几何:

下图显示了JavaFX网类层次结构,其中包含TriangleMesh子类。三角网是最典型的一种网中使用3 d布局。

三角网包含单独的点阵列,纹理坐标,以及描述三角几何网格面。平滑组用于组三角形同一曲面的一部分。平滑组不同就会形成硬边。

我们按照如下步骤创建三角网实例:

创建一个三角网实例

mesh = new TriangleMesh();
从网格的顶点开始设置点:

float points[] = { … };
mesh.getPoints().addAll(points);
描述每个顶点的纹理坐标:

float texCoords[] = { … };
mesh.getTexCoords().addAll(texCoords);
使用顶点构建三角形拓扑面

int faces[] = { … };
mesh.getFaces().addAll(faces);
定义每个面所属的平滑组:

<span style="font-size:14px;">int smoothingGroups[] = { … };
mesh.getFaceSmoothingGroups().addAll(smoothingGroups);</span>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值