Lavorare con il cilindro
Personalizza la parte superiore offset
Aspose.3D for Java consente di personalizzare la parte superiore offset di un cilindro. Per utilizzare questa funzionalità, è possibile utilizzare il metodo setOffsetTop()
della classe Cylinder
. Il seguente frammento di codice mostra come personalizzare Offset Top:
// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-Java | |
// Create a scene | |
Scene scene = new Scene(); | |
// Initialize cylinder | |
Cylinder cylinder1 = new Cylinder(2, 2, 10, 20, 1, false); | |
// Set OffsetTop | |
cylinder1.setOffsetTop(new Vector3(5, 3, 0)); | |
// Create ChildNode | |
scene.getRootNode().createChildNode(cylinder1).getTransform().setTranslation(10, 0, 0); | |
// Initialize second cylinder without customized OffsetTop | |
Cylinder cylinder2 = new Cylinder(2, 2, 10, 20, 1, false); | |
// Create ChildNode | |
scene.getRootNode().createChildNode(cylinder2); | |
// Save | |
scene.save(RunExamples.getDataDir()+ "CustomizedOffsetTopCylinder.obj", FileFormat.WAVEFRONTOBJ); |
Quello sinistro ha OffsetTop impostato su (5, 3, 0), è facile vedere che il tappo superiore si è spostato e anche l’intero busto ne viene influenzato.
Personalizza ShearBottom
Aspose.3D for Java consente di personalizzare il fondo di taglio di un cilindro. Per utilizzare questa funzionalità, puoi utilizzare la proprietà setShearBottom()
della classe Cylinder
. Il seguente frammento di codice mostra come personalizzare il fondo di taglio:
// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-Java | |
// Create a scene | |
Scene scene = new Scene(); | |
// Create cylinder 1 | |
Cylinder cylinder1 = new Cylinder(2, 2, 10, 20, 1, false); | |
// Customized shear bottom for cylinder 1 | |
cylinder1.setShearBottom(new Vector2(0, 0.83));// shear 47.5deg in xy plane(z-axis) | |
// Add cylinder 1 to the scene | |
scene.getRootNode().createChildNode(cylinder1).getTransform().setTranslation(10, 0, 0); | |
// Create cylinder 2 | |
Cylinder cylinder2 = new Cylinder(2, 2, 10, 20, 1, false); | |
// Add cylinder to without a ShearBottom to the scene | |
scene.getRootNode().createChildNode(cylinder2); | |
// Save scene | |
scene.save(RunExamples.getDataDir()+ "CustomizedShearBottomCylinder.obj", FileFormat.WAVEFRONTOBJ); |
Il cilindro sinistro ha ShearBottom a (0, 0,83) mentre quello destro è un cilindro ordinale.
Crea Ventilatore-Cilindro
Aspose.3D for Java consente di creare un cilindro della ventola. Per poter utilizzare questa funzionalità, puoi setGenerateFanCylinder()
di proprietà della classe Cylinder
a true
. Il seguente frammento di codice mostra come utilizzare questa funzionalità:
// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-Jav | |
// Create a Scene | |
Scene scene = new Scene(); | |
// Create a cylinder | |
Cylinder fan = new Cylinder(2, 2, 10, 20, 1, false); | |
// Set GenerateGanCylinder to true | |
fan.setGenerateFanCylinder(true); | |
// Set ThetaLength | |
fan.setThetaLength(MathUtils.toRadian(270.0)); | |
// Create ChildNode | |
scene.getRootNode().createChildNode(fan).getTransform().setTranslation(10, 0, 0); | |
// Create a cylinder without a fan | |
Cylinder nonfan = new Cylinder(2, 2, 10, 20, 1, false); | |
// Create ChildNode | |
scene.getRootNode().createChildNode(nonfan); | |
// Save scene | |
scene.save(RunExamples.getDataDir()+ "CreateFanCylinder.obj", FileFormat.WAVEFRONTOBJ); |
Il cilindro sinistro ha GenerateFanCylinder = falso e quello destro ha GenerateFanCylinder = true.