个人理财 Java程序设计:添加,动画和点亮3D对象

Java程序设计:添加,动画和点亮3D对象

目录:

Anonim

在JavaFX中创建虚拟3D世界比以往任何时候都容易。在这个例子中,你学习了在你的JavaFX程序中添加一个球体,为它添加动画,并为它添加一个光源。

第一步:添加一个球体

首先,添加一个由Sphere类表示的球体。 Sphere构造函数只接受一个参数,它指定球体的半径。例如,这些线创建一个半径为100的球体,然后将其转换为离开虚拟世界的中心点:

<! - 1 - >
球体=新球体(100);领域。 setTranslateX(-180);领域。 setTranslateY(-100);领域。 setTranslateZ(100);根。的getChildren()。添加(球);

与其将相同的蓝色Phong材质应用于球体,您可以做一些更有趣的事情:使用以下代码应用从地球柱面投影图像构建的Phong材质:

Image earthImage = new Image( “file:earth。jpg”); PhongMaterial earthPhong =新的PhongMaterial(); earthPhong。 setDiffuseMap(earthImage);领域。 setMaterial(earthPhong);

该图显示了最终的球体。

<! - 2 - >

一个圆柱形地球投影作为Phong材料。

您可以使用此技术将任何图像包裹在球体(或任何其他3D对象,就此而言)中。您也可以从维基百科获取该程序的图像。只要搜索 Behrmann投影 ,然后下载文件。 (使用“Windows画图”来修剪图像的边缘,因为维基百科上可用的图像在边缘有一个小边框。)

第二步:动画对象

嗖!你的3D虚拟世界现在有一个对象:一个看起来像地球的球体。您现在也可以添加其他对象。在此步骤中,为所有对象添加一个动画以使其旋转。每个对象都有一个简单的RotationTransition动画。首先,球体:

RotateTransition rt4 = new RotateTransition(); RT4。 setNode(球); RT4。 setDuration(Duration。millis(9000)); RT4。 setAxis(Rotate。Y_AXIS); RT4。 setByAngle(360); RT4。 setCycleCount(Animation。INDEFINITE); RT4。 setInterpolator(Interpolator。LINEAR); RT4。玩();

调用play方法之后,球体开始旋转,每三秒钟完成一次完整的Z轴旋转。

球体围绕y轴旋转,产生世界正在旋转的印象。对于球体,速度每10秒设置一次。

第三步:添加光源

进入3D编程世界的最后一步是添加一个光源。光源将改变整个场景的外观,如下所示。

要添加光源,请使用以下代码:

使用光源的3D世界。

PointLight指示灯=新的指示灯(Color。WHITE);光。 setTranslateX(-1000);光。 setTranslateY(100);光。 setTranslateZ(-1000);根。的getChildren()。添加(光);
PointLight类定义了一个源于场景中的特定点的光源,并投射给定颜色的光(在这种情况下,是好的旧白色)。为了产生照明效果,通过将其坐标1,000转换为左侧,100下降和1,000单位来将光重新定位到用户。结果在旋转物体的背面投下了不错的阴影。
Java程序设计:添加,动画和点亮3D对象

编辑的选择

10个惊人的Python编程资源 - 傻瓜

10个惊人的Python编程资源 - 傻瓜

您可能对Python编程有很好的开始,需要额外的资源。这里有十个令人惊叹的编程资源,您可以使用它来改善您的开发体验。在线使用Python文档使用Python的一个重要部分就是了解Python中的可用内容...

如何在Python中创建类定义

如何在Python中创建类定义

类不需要特别复杂。实际上,您可以在Python中创建容器和一个类元素,并将其称为一个类。当然,最终得到的类不会有太多的工作,但是你可以实例化它(告诉Python用你的类作为蓝图来构建一个对象),并使用它来处理它...

如何在Python中访问列表 - 傻瓜

如何在Python中访问列表 - 傻瓜

使用Python创建列表后,要访问信息它包含。一个对象不是特别有用,如果你至少不能访问它所包含的信息。以下步骤描述了如何做到这一点。

编辑的选择

如何在Excel 2013中复制自定义样式 - 傻瓜

如何在Excel 2013中复制自定义样式 - 傻瓜

Excel 2013可以轻松复制自定义单元样式您已经将其作为一个工作簿的一部分保存到您当前正在处理的工作簿中。要将自定义样式从一个工作簿复制到另一个工作簿,请按照下列步骤:

如何使用填充柄复制Excel公式 - 虚拟人

如何使用填充柄复制Excel公式 - 虚拟人

您将喜欢填充柄在Excel中。填充句柄是一个快速的方法,只需单击一下鼠标,即可将单元格的内容复制到其他单元格。活动单元格的边界右下方总是有一个小方框。那是填充句柄。当你...

如何比较Excel 2013中的多个工作表 - Excel 2013中的虚拟人数

如何比较Excel 2013中的多个工作表 - Excel 2013中的虚拟人数

,可以拆分单个工作簿到工作表窗口中,然后排列窗口,以便您可以查看屏幕上每个工作表的不同部分。要打开要在不同窗口中比较的工作表,只需插入新的工作簿窗口,然后选择工作表即可...

编辑的选择

监视WebLogic Server - 虚拟机

监视WebLogic Server - 虚拟机

监视服务器是每个WebLogic Server管理员必须处理的重要任务。您将监视您的服务器是否启动以及服务器负载。通过监视,您可以快速查看WebLogic Server不同部分如何执行的概述。通过WebLogic Server,您可以监视以下区域:CORBA ...

测量用于机器学习的矢量之间的相似性 - 虚拟

测量用于机器学习的矢量之间的相似性 - 虚拟

把他们当作一个媒介。以下信息描述了如何测量矢量之间的相似性以执行诸如计算用于学习目的的矢量之间的距离等任务。理解相似性在矢量形式中,您可以在...中看到每个变量。

前10名MATLAB的使用MATLAB

前10名MATLAB的使用MATLAB

MATLAB被许多不同的人使用当谈到数学产品时,可能不一定会想到。事实上,数学的使用方式很多人都没有考虑。工程新的解决方案许多工程学科依靠各种数学来确保...