Циліндри зазвичай використовуються в тривимірних сценах. У різних програмах для обробки графіки вам може знадобитися створити різні типи циліндрів. Тут ми обговоримо, як створити різні види тривимірних циліндрів з різними трансформаціями та варіаціями. У ньому пояснюється, як створити 3D-циліндр зі зсувною нижньою стороною, зсувною верхньою частиною та вентиляторним циліндром із різною довжиною тета програмним шляхом у 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);

// Встановити 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. Встановіть довжину тета та створіть дочірній вузол.
  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);

// Створити ChildNode
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);

// Створити ChildNode
scene.RootNode.CreateChildNode(nonfan);

// Зберегти сцену
scene.Save("FanCylinder.obj", FileFormat.WavefrontOBJ);

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

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

Отримайте безкоштовну тимчасову ліцензію

Ви можете запросити безкоштовну тимчасову ліцензію, щоб перевірити API на повну потужність.

Висновок

У цій статті ви дізналися, як програмно створити 3D-циліндр на C#. Тут описано, як змінити фрагмент коду, щоб створити різноманітні форми циліндрів. Крім того, ви можете дослідити багато інших функцій API, переглянувши розділ документація. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також

Перетворити файл MA у USDZ на C#