Цилиндры обычно используются в трехмерных сценах. В различных приложениях для обработки графики может потребоваться создание различных типов цилиндров. Здесь мы обсудим, как создавать различные виды трехмерных цилиндров с различными преобразованиями и вариациями. В нем объясняется, как программно на C# создать трехмерный цилиндр со срезанным дном, срезанным верхом и веерным цилиндром с разной тета-длиной.
- Программное создание 3D-цилиндров — установка C# API
- Сделать цилиндр на C#
- Создание веерного цилиндра на C#
Программное создание 3D-цилиндров — установка C# API
Aspose.3D for .NET API можно использовать для создания 3D-сцен и объектов или управления ими. Более того, вам не нужно устанавливать какие-либо другие приложения или инструменты для 3D-обработки для работы с API. Просто быстро настройте API на странице Новые версии или выполните команду установки NuGet ниже:
PM> Install-Package Aspose.3D
Сделать цилиндр на C#
Вы можете создать цилиндр в трехмерной сцене, выполнив следующие шаги:
- Инициализировать объект класса Scene.
- Установите вершины для преобразования смещения нижней стороны.
- Добавьте цилиндр на сцену.
- Создайте еще один цилиндр и настройте его дно.
- Добавьте цилиндр и Сохранить выходную сцену.
Фрагмент кода ниже демонстрирует, как выполнить эти шаги и программно создать цилиндр на 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);
Кроме того, на следующем изображении показано выходное изображение, созданное с использованием приведенного выше фрагмента кода.
Создание веерного цилиндра на C#
Следующие шаги объясняют, как создать цилиндр вентилятора в 3D-сцене:
- Создайте объект класса Scene.
- Создайте цилиндр и установите для GenerateFanCylinder значение true.
- Установите длину тета и создайте дочерний узел.
- Создайте цилиндр без вентилятора и повторите описанные выше шаги.
- Сохраните выходную сцену.
В следующем фрагменте кода поясняется, как программно создать цилиндр вентилятора на 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);
На следующем снимке экрана показана выходная сцена, созданная с использованием этого примера кода:
Получить бесплатную временную лицензию
Вы можете запросить бесплатную временную лицензию для тестирования API на полную мощность.
Вывод
В этой статье вы узнали, как программно создать трехмерный цилиндр на C#. В нем рассказывается, как изменить фрагмент кода для создания различных форм цилиндров. Кроме того, вы можете изучить многие другие функции API, заглянув в раздел документация. В случае каких-либо неясностей обращайтесь к нам на форум.
Смотрите также
[Преобразование MA в файл USDZ на C#] (https://blog.aspose.com/3d/convert-ma-to-usdz-in-csharp/)