在不同的三维场景和动画中,您可能需要创建不同类型的圆柱体,并根据需要应用多种类型的变换和其他操作。顺着这样的场景,本文详细阐述了如何在Java应用程序中创建圆柱体。此外,它还介绍了如何自定义偏移顶部、偏移底部、剪切底部等。
以编程方式创建 3D 圆柱体 – Java API 安装
Aspose.3D for Java API 支持从 Java 应用程序中创建或操作 3D 圆柱体。您可以通过从 下载 页面下载其 JAR 文件或将以下配置粘贴到项目的 pom.xml 文件中,以便从 Aspose 存储库 对其进行配置,从而轻松配置 API。
存储库:
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
</repositories>
依赖:
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-3d</artifactId>
<version>22.10</version>
</dependency>
</dependencies>
用 Java 制作圆柱体
您可以通过以下步骤在 3D 对象文件中制作圆柱体:
以下示例代码详细说明了如何在 Java 中以编程方式制作圆柱体:
// 创建场景
com.aspose.threed.Scene scene = new com.aspose.threed.Scene();
// 创建圆柱体 1
var cylinder1 = new com.aspose.threed.Cylinder(2, 2, 10, 20, 1, false);
// 设置 OffsetBottom
cylinder1.setOffsetBottom(new com.aspose.threed.Vector3(5, 3, 0));
// 将没有 ShearBottom 的圆柱体添加到场景中
scene.getRootNode().createChildNode(cylinder1);
// 创建圆柱体 2
var cylinder2 = new com.aspose.threed.Cylinder(2, 2, 10, 20, 1, false);
// 气缸 2 的定制剪切底部
cylinder2.setShearBottom(new com.aspose.threed.Vector2(0, 0.83));
// 将气缸 2 添加到场景中
scene.getRootNode().createChildNode(cylinder2).getTransform().setTranslation(new com.aspose.threed.Vector3(10, 0, 0));
// 保存场景
scene.save("CustomizedCylinder.obj", com.aspose.threed.FileFormat.WAVEFRONTOBJ);
此外,以下屏幕截图显示了使用上述代码片段生成的圆柱体。
在 Java 中创建一个风扇气缸
您需要按照以下步骤在 Java 中创建风筒:
- 初始化一个 Scene 类对象。
- 制作一个圆柱体并设置布尔属性 GenerateFanCylinder。
- 指定 theta 长度并创建子节点。
- 创建一个没有风扇的圆柱体并重复上述步骤。
- 保存输出场景。
下面的代码示例显示了如何在 Java 中以编程方式创建风扇气缸:
// 创建场景
com.aspose.threed.Scene scene = new com.aspose.threed.Scene();
// 创建一个圆柱体
var fan = new com.aspose.threed.Cylinder(2, 2, 10, 20, 1, false);
// 将 GenerateGanCylinder 设置为 true
fan.setGenerateFanCylinder(true);
// 设置 ThetaLength
fan.setThetaLength(com.aspose.threed.MathUtils.toRadian(270));
// 创建子节点
scene.getRootNode().createChildNode(fan).getTransform().setTranslation(new com.aspose.threed.Vector3(10, 0, 0));
// 创建一个圆柱体 without a fan
var nonfan = new com.aspose.threed.Cylinder(2, 2, 10, 20, 1, false);
// 将 GenerateGanCylinder 设置为 false
nonfan.setGenerateFanCylinder(false);
// 设置 ThetaLength
fan.setThetaLength(com.aspose.threed.MathUtils.toRadian(270));
// 创建子节点
scene.getRootNode().createChildNode(nonfan);
// 保存场景
scene.save("FanCylinder.obj", com.aspose.threed.FileFormat.WAVEFRONTOBJ);
此外,下面的屏幕截图显示了包含风筒和没有风筒的输出文件:
获得免费的临时许可证
您可以申请 免费临时许可证 以不受任何限制地评估 API。
结论
在本文中,您学习了如何在 Java 中以编程方式创建 3D 圆柱体。如果您有兴趣了解该 API 的其他特性,请访问 API 文档 空间。此外,如有任何疑问,请随时写信至论坛。