圆柱体常用于三维场景。在不同的图形处理应用程序中,您可能需要创建不同类型的圆柱体。在这里我们将讨论如何制作各种具有不同变换和变化的三维圆柱体。它解释了如何在 C# 中以编程方式创建具有剪切底部、剪切顶部和具有不同 theta 长度的风扇圆柱体的 3D 圆柱体。

以编程方式创建 3D 圆柱体 – C# API 安装

Aspose.3D for .NET API 可用于创建或操作 3D 场景和对象。此外,您无需安装任何其他 3D 处理应用程序或工具即可使用 API。只需从 New Releases 页面快速配置 API 或运行下面的 NuGet 安装命令:

PM> Install-Package Aspose.3D

在 C# 中制作一个圆柱体

您可以按照以下步骤在三维场景中制作圆柱体:

  1. 初始化 Scene 类的对象。
  2. 设置顶点以变换底部的偏移量。
  3. 将圆柱体添加到场景中。
  4. 创建另一个圆柱体并自定义剪切底部。
  5. 添加圆柱体并保存 输出场景。

下面的代码片段演示了如何按照这些步骤在 C# 中以编程方式制作圆柱体:

// 创建场景
Scene scene = new Scene();

// 创建圆柱体 1
var cylinder1 = new Aspose.ThreeD.Entities.Cylinder(2, 2, 10, 20, 1, false);

// 设置 OffsetBottom
cylinder1.OffsetBottom = new Aspose.ThreeD.Utilities.Vector3(5, 3, 0);

// 将没有 ShearBottom 的圆柱体添加到场景中
scene.RootNode.CreateChildNode(cylinder1);

// 创建圆柱体 2
var cylinder2 = new Aspose.ThreeD.Entities.Cylinder(2, 2, 10, 20, 1, false);

// 气缸 2 的定制剪切底部
cylinder2.ShearBottom = new Aspose.ThreeD.Utilities.Vector2(0, 0.83);

// 将气缸 2 添加到场景中
scene.RootNode.CreateChildNode(cylinder2).Transform.Translation = new Aspose.ThreeD.Utilities.Vector3(10, 0, 0);

// 保存场景
scene.Save("CustomizedCylinder.obj", FileFormat.WavefrontOBJ);

此外,下图显示了使用上述代码片段生成的输出图像。

制作 3D 圆柱体 C#

在 C# 中创建一个风筒

以下步骤说明了如何在 3D 场景中创建风筒:

  1. 创建一个 Scene 类对象。
  2. 创建一个圆柱体并将 GenerateFanCylinder 设置为 true。
  3. 设置 theta 的长度并创建一个子节点。
  4. 创建一个没有风扇的圆柱体并重复上述步骤。
  5. 保存输出场景。

以下代码片段详细说明了如何在 C# 中以编程方式创建风扇圆柱体:

// 创建场景
Scene scene = new Scene();

// 创建一个圆柱体
var fan = new Aspose.ThreeD.Entities.Cylinder(2, 2, 10, 20, 1, false);

// 将 GenerateGanCylinder 设置为 true
fan.GenerateFanCylinder = true;

// 设置 ThetaLength
fan.ThetaLength = Aspose.ThreeD.Utilities.MathUtils.ToRadian(270);

// 创建子节点
scene.RootNode.CreateChildNode(fan).Transform.Translation = new Aspose.ThreeD.Utilities.Vector3(10, 0, 0);

// 创建一个圆柱体 without a fan
var nonfan = new Aspose.ThreeD.Entities.Cylinder(2, 2, 10, 20, 1, false);

// 将 GenerateGanCylinder 设置为 false
nonfan.GenerateFanCylinder = false;

// 设置 ThetaLength 
nonfan.ThetaLength = Aspose.ThreeD.Utilities.MathUtils.ToRadian(270);

// 创建子节点
scene.RootNode.CreateChildNode(nonfan);

// 保存场景
scene.Save("FanCylinder.obj", FileFormat.WavefrontOBJ);

以下屏幕截图显示了使用此示例代码创建的输出场景:

制作3D风筒C#

获得免费的临时许可证

您可以申请 免费临时许可证 来测试 API 的全部容量。

结论

在本文中,您学习了如何在 C# 中以编程方式创建 3D 圆柱体。它涵盖了如何修改代码片段以创建各种圆柱体形状。此外,您可以通过查看 文档 部分来探索 API 的许多其他功能。如有任何疑问,请通过 论坛 与我们联系。

也可以看看

在 C# 中将 MA 转换为 USDZ 文件