在不同的三维场景和动画中,您可能需要创建不同类型的圆柱体,并根据您的要求应用多种类型的变换和其他操作。在这样的场景下,本文详细介绍了如何在 Java 应用程序中创建圆柱体。此外,它还涵盖了如何自定义顶部偏移、底部偏移、剪切底部等内容。
以编程方式创建 3D 圆柱体 – Java API 安装
Aspose.3D for Java API 支持在 Java 应用程序中创建或操作 3D 圆柱体。您可以通过从 下载 页面下载其 JAR 文件或在项目的 pom.xml 文件中粘贴以下配置来轻松配置该 API,以便从 Aspose 仓库 配置它。
仓库:
<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 中以编程方式制作圆柱体:
// Create a scene | |
com.aspose.threed.Scene scene = new com.aspose.threed.Scene(); | |
// Create cylinder 1 | |
var cylinder1 = new com.aspose.threed.Cylinder(2, 2, 10, 20, 1, false); | |
// Set OffsetBottom | |
cylinder1.setOffsetBottom(new com.aspose.threed.Vector3(5, 3, 0)); | |
// Add cylinder to without a ShearBottom to the scene | |
scene.getRootNode().createChildNode(cylinder1); | |
// Create cylinder 2 | |
var cylinder2 = new com.aspose.threed.Cylinder(2, 2, 10, 20, 1, false); | |
// Customized shear bottom for cylinder 2 | |
cylinder2.setShearBottom(new com.aspose.threed.Vector2(0, 0.83)); | |
// Add cylinder 2 to the scene | |
scene.getRootNode().createChildNode(cylinder2).getTransform().setTranslation(new com.aspose.threed.Vector3(10, 0, 0)); | |
// Save scene | |
scene.save("CustomizedCylinder.obj", com.aspose.threed.FileFormat.WAVEFRONTOBJ); |
此外,以下截图显示了使用上述代码片段生成的圆柱体。
在 Java 中创建风扇圆柱体
您需要按照以下步骤在 Java 中创建风扇圆柱体:
- 初始化一个 Scene 类对象。
- 制作一个圆柱体并设置布尔属性 GenerateFanCylinder。
- 指定 theta 长度并创建子节点。
- 创建一个没有风扇的圆柱体,并重复上述步骤。
- 保存输出场景。
以下代码示例显示了如何在 Java 中以编程方式创建风扇圆柱体:
// Create a Scene | |
com.aspose.threed.Scene scene = new com.aspose.threed.Scene(); | |
// Create a cylinder | |
var fan = new com.aspose.threed.Cylinder(2, 2, 10, 20, 1, false); | |
// Set GenerateGanCylinder to true | |
fan.setGenerateFanCylinder(true); | |
// Set ThetaLength | |
fan.setThetaLength(com.aspose.threed.MathUtils.toRadian(270)); | |
// Create ChildNode | |
scene.getRootNode().createChildNode(fan).getTransform().setTranslation(new com.aspose.threed.Vector3(10, 0, 0)); | |
// Create a cylinder without a fan | |
var nonfan = new com.aspose.threed.Cylinder(2, 2, 10, 20, 1, false); | |
// Set GenerateGanCylinder to false | |
nonfan.setGenerateFanCylinder(false); | |
// Set ThetaLengeth | |
fan.setThetaLength(com.aspose.threed.MathUtils.toRadian(270)); | |
// Create ChildNode | |
scene.getRootNode().createChildNode(nonfan); | |
// Save scene | |
scene.save("FanCylinder.obj", com.aspose.threed.FileFormat.WAVEFRONTOBJ); |
此外,以下截图显示了包含风扇圆柱体和不包含风扇圆柱体的输出文件:
获取免费临时许可证
您可以请求一个 免费临时许可证 来评估该 API,而无需任何限制。
结论
在本文中,您已经学习了如何在 Java 中以编程方式创建 3D 圆柱体。如果您有兴趣了解该 API 的其他功能,请访问 API 文档 页面。此外,如有任何疑问,请随时通过 论坛 联系我们。