在不同的三维场景和动画中,您可能需要创建不同类型的圆柱体,并根据您的要求应用多种类型的变换和其他操作。在这样的场景下,本文详细介绍了如何在 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 对象文件中制作圆柱体:

  1. 创建一个 Scene 类的对象。
  2. 指定底部的顶点变换偏移。
  3. 将创建的圆柱体添加到场景中。
  4. 制作另一个圆柱体并自定义剪切底部。
  5. 添加圆柱体并 保存 生成的场景。

以下示例代码详细说明了如何在 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);

此外,以下截图显示了使用上述代码片段生成的圆柱体。

制作 3D 圆柱体 C#

在 Java 中创建风扇圆柱体

您需要按照以下步骤在 Java 中创建风扇圆柱体:

  1. 初始化一个 Scene 类对象。
  2. 制作一个圆柱体并设置布尔属性 GenerateFanCylinder。
  3. 指定 theta 长度并创建子节点。
  4. 创建一个没有风扇的圆柱体,并重复上述步骤。
  5. 保存输出场景。

以下代码示例显示了如何在 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);

此外,以下截图显示了包含风扇圆柱体和不包含风扇圆柱体的输出文件:

制作 3D 圆柱体 C#

获取免费临时许可证

您可以请求一个 免费临时许可证 来评估该 API,而无需任何限制。

结论

在本文中,您已经学习了如何在 Java 中以编程方式创建 3D 圆柱体。如果您有兴趣了解该 API 的其他功能,请访问 API 文档 页面。此外,如有任何疑问,请随时通过 论坛 联系我们。

另请参阅

在 Java 中将 MA 转换为 USDZ