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

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

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

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

制作 3D 圆柱体 C#

在 Java 中创建一个风扇气缸

您需要按照以下步骤在 Java 中创建风筒:

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

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

此外,下面的屏幕截图显示了包含风筒和没有风筒的输出文件:

制作 3D 圆柱体 C#

获得免费的临时许可证

您可以申请 免费临时许可证 以不受任何限制地评估 API。

结论

在本文中,您学习了如何在 Java 中以编程方式创建 3D 圆柱体。如果您有兴趣了解该 API 的其他特性,请访问 API 文档 空间。此外,如有任何疑问,请随时写信至论坛

也可以看看

在 Java 中将 MA 转换为 USDZ