Цилиндры обычно используются в трехмерных сценах. В различных приложениях для обработки графики может потребоваться создание различных типов цилиндров. Здесь мы обсудим, как создавать различные виды трехмерных цилиндров с различными преобразованиями и вариациями. В нем объясняется, как программно на C# создать трехмерный цилиндр со срезанным дном, срезанным верхом и веерным цилиндром с разной тета-длиной.

Программное создание 3D-цилиндров — установка C# API

Aspose.3D for .NET API можно использовать для создания 3D-сцен и объектов или управления ими. Более того, вам не нужно устанавливать какие-либо другие приложения или инструменты для 3D-обработки для работы с API. Просто быстро настройте 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);

// Установить смещение снизу
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. Установите длину тета и создайте дочерний узел.
  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;

// Установить ThetaLengeth 
nonfan.ThetaLength = Aspose.ThreeD.Utilities.MathUtils.ToRadian(270);

// Создать дочерний узел
scene.RootNode.CreateChildNode(nonfan);

// Сохранить сцену
scene.Save("FanCylinder.obj", FileFormat.WavefrontOBJ);

На следующем снимке экрана показана выходная сцена, созданная с использованием этого примера кода:

Создание 3D-вентиляторного цилиндра C#

Получить бесплатную временную лицензию

Вы можете запросить бесплатную временную лицензию для тестирования API на полную мощность.

Вывод

В этой статье вы узнали, как программно создать трехмерный цилиндр на C#. В нем рассказывается, как изменить фрагмент кода для создания различных форм цилиндров. Кроме того, вы можете изучить многие другие функции API, заглянув в раздел документация. В случае каких-либо неясностей обращайтесь к нам на форум.

Смотрите также

[Преобразование MA в файл USDZ на C#] (https://blog.aspose.com/3d/convert-ma-to-usdz-in-csharp/)