Cilindros são comumente usados em cenas tridimensionais. Em diferentes aplicativos de processamento gráfico, pode ser necessário criar diferentes tipos de cilindros. Aqui vamos discutir como fazer vários tipos de cilindros tridimensionais com diferentes transformações e variações. Ele explica como criar um cilindro 3D com fundo de cisalhamento, topo de cisalhamento e cilindro de ventilador com diferentes comprimentos theta programaticamente em C#.

Crie cilindros 3D programaticamente - instalação da API C#

Aspose.3D para .NET A API pode ser usada para criar ou manipular cenas e objetos 3D. Além disso, você não precisa instalar nenhum outro aplicativo ou ferramenta de processamento 3D para trabalhar com a API. Basta configurar a API rapidamente na página New Releases ou executar o comando de instalação NuGet abaixo:

PM> Install-Package Aspose.3D

Faça um Cilindro em C#

Você pode fazer um cilindro em uma cena tridimensional seguindo as etapas abaixo:

  1. Inicialize um objeto da classe Scene.
  2. Defina os vértices para transformar o deslocamento do lado inferior.
  3. Adicione o cilindro à cena.
  4. Crie outro cilindro e personalize o fundo de cisalhamento.
  5. Adicione o cilindro e Salvar a cena de saída.

O trecho de código abaixo demonstra como seguir essas etapas e criar um cilindro programaticamente em C#:

// Criar uma cena
Scene scene = new Scene();

// Criar cilindro 1
var cylinder1 = new Aspose.ThreeD.Entities.Cylinder(2, 2, 10, 20, 1, false);

// Definir Deslocamento Inferior
cylinder1.OffsetBottom = new Aspose.ThreeD.Utilities.Vector3(5, 3, 0);

// Adicionar cilindro sem ShearBottom à cena
scene.RootNode.CreateChildNode(cylinder1);

// Criar cilindro 2
var cylinder2 = new Aspose.ThreeD.Entities.Cylinder(2, 2, 10, 20, 1, false);

// Parte inferior de cisalhamento personalizada para o cilindro 2
cylinder2.ShearBottom = new Aspose.ThreeD.Utilities.Vector2(0, 0.83);

// Adicione o cilindro 2 à cena
scene.RootNode.CreateChildNode(cylinder2).Transform.Translation = new Aspose.ThreeD.Utilities.Vector3(10, 0, 0);

// Salvar cena
scene.Save("CustomizedCylinder.obj", FileFormat.WavefrontOBJ);

Além disso, a imagem a seguir mostra a imagem de saída gerada usando o trecho de código acima.

Fazer Cilindro 3D C#

Crie um cilindro de ventilador em C#

As etapas a seguir explicam como criar um cilindro de ventilador em uma cena 3D:

  1. Crie um objeto de classe Cena.
  2. Crie um cilindro e defina GenerateFanCylinder como true.
  3. Defina o comprimento de teta e crie um nó filho.
  4. Crie um cilindro sem ventilador e repita as etapas acima.
  5. Salve a cena de saída.

O trecho de código a seguir detalha como criar um cilindro de ventilador programaticamente em C#:

// Criar uma cena
Scene scene = new Scene();

// Criar um cilindro
var fan = new Aspose.ThreeD.Entities.Cylinder(2, 2, 10, 20, 1, false);

// Defina GenerateGanCylinder como verdadeiro
fan.GenerateFanCylinder = true;

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

// Criar ChildNode
scene.RootNode.CreateChildNode(fan).Transform.Translation = new Aspose.ThreeD.Utilities.Vector3(10, 0, 0);

// Criar um cilindro without a fan
var nonfan = new Aspose.ThreeD.Entities.Cylinder(2, 2, 10, 20, 1, false);

// Defina GenerateGanCylinder como falso
nonfan.GenerateFanCylinder = false;

// Definir ThetaLengeth 
nonfan.ThetaLength = Aspose.ThreeD.Utilities.MathUtils.ToRadian(270);

// Criar ChildNode
scene.RootNode.CreateChildNode(nonfan);

// Salvar cena
scene.Save("FanCylinder.obj", FileFormat.WavefrontOBJ);

A captura de tela a seguir mostra a cena de saída criada usando este código de exemplo:

Faça o cilindro do ventilador 3D C#

Obtenha licença temporária gratuita

Você pode solicitar uma licença temporária gratuita para testar a capacidade total da API.

Conclusão

Neste artigo, você aprendeu como criar um cilindro 3D programaticamente em C#. Ele aborda como modificar o trecho de código para criar uma variedade de formas cilíndricas. Além disso, você pode explorar muitos outros recursos da API dando uma olhada na seção documentação. Em caso de ambiguidade, entre em contato conosco em fórum.

Veja também

Converta arquivo MA para USDZ em C#