さまざまな 3 次元シーンやアニメーションでは、さまざまな種類の円柱を作成し、要件に応じてさまざまな種類の変換やその他の操作を適用する必要がある場合があります。このようなシナリオに従って、この記事では Java アプリケーションでシリンダーを作成する方法について詳しく説明します。さらに、オフセットトップ、オフセットボトム、シャーボトムなどをカスタマイズする方法についても説明します。
プログラムによる 3D 円柱の作成 – Java API インストール
Aspose.3D for Java API は、Java アプリケーション内からの 3D シリンダーの作成または操作をサポートします。 ダウンロード ページから JAR ファイルをダウンロードするか、Aspose リポジトリ から構成するためにプロジェクトの pom.xml ファイルに次の構成を貼り付けることで、API を簡単に構成できます。
リポジトリ:
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
</repositories>
依存:
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-3d</artifactId>
<version>22.10</version>
</dependency>
</dependencies>
Javaで円柱を作る
次の手順で、3D オブジェクト ファイルに円柱を作成できます。
- Scene クラスのオブジェクトを作成します。
- 下辺の頂点変換オフセットを指定します。
- 作成した円柱をシーンに追加します。
- 別のシリンダーを作成し、シアー ボトムをカスタマイズします。
- 円柱を追加し、生成されたシーンを 保存 します。
次のサンプル コードは、Java でプログラムによって円柱を作成する方法を詳しく説明しています。
// シーンを作成する
com.aspose.threed.Scene scene = new com.aspose.threed.Scene();
// 円柱 1 を作成する
var cylinder1 = new com.aspose.threed.Cylinder(2, 2, 10, 20, 1, false);
// OffsetBottom を設定
cylinder1.setOffsetBottom(new com.aspose.threed.Vector3(5, 3, 0));
// ShearBottom なしでシリンダーをシーンに追加します
scene.getRootNode().createChildNode(cylinder1);
// 円柱 2 を作成する
var cylinder2 = new com.aspose.threed.Cylinder(2, 2, 10, 20, 1, false);
// シリンダー 2 のカスタマイズされたシアー ボトム
cylinder2.setShearBottom(new com.aspose.threed.Vector2(0, 0.83));
// シリンダー 2 をシーンに追加する
scene.getRootNode().createChildNode(cylinder2).getTransform().setTranslation(new com.aspose.threed.Vector3(10, 0, 0));
// シーンを保存
scene.save("CustomizedCylinder.obj", com.aspose.threed.FileFormat.WAVEFRONTOBJ);
さらに、次のスクリーンショットは、上記のコード スニペットを使用して生成された円柱を示しています。
Java でファン シリンダーを作成する
Java でファン シリンダーを作成するには、次の手順に従う必要があります。
- Scene クラス オブジェクトを初期化します。
- 円柱を作成し、ブール プロパティ GenerateFanCylinder を設定します。
- theta の長さを指定し、子ノードを作成します。
- ファンのない円柱を作成し、上記の手順を繰り返します。
- 出力シーンを保存します。
次のコード サンプルは、Java でプログラムによってファン シリンダーを作成する方法を示しています。
// シーンを作成する
com.aspose.threed.Scene scene = new com.aspose.threed.Scene();
// 円柱を作成する
var fan = new com.aspose.threed.Cylinder(2, 2, 10, 20, 1, false);
// GenerateGanCylinder を true に設定します
fan.setGenerateFanCylinder(true);
// シータ長を設定
fan.setThetaLength(com.aspose.threed.MathUtils.toRadian(270));
// ChildNode の作成
scene.getRootNode().createChildNode(fan).getTransform().setTranslation(new com.aspose.threed.Vector3(10, 0, 0));
// 円柱を作成する without a fan
var nonfan = new com.aspose.threed.Cylinder(2, 2, 10, 20, 1, false);
// GenerateGanCylinder を false に設定します
nonfan.setGenerateFanCylinder(false);
// ThetaLengeth の設定
fan.setThetaLength(com.aspose.threed.MathUtils.toRadian(270));
// ChildNode の作成
scene.getRootNode().createChildNode(nonfan);
// シーンを保存
scene.save("FanCylinder.obj", com.aspose.threed.FileFormat.WAVEFRONTOBJ);
さらに、以下のスクリーンショットは、ファン シリンダーを含み、ファン シリンダーを含まない出力ファイルを示しています。
無料の一時ライセンスを取得する
無料の一時ライセンス をリクエストして、無制限に API を評価できます。
結論
この記事では、Java でプログラムによって 3D 円柱を作成する方法を学習しました。 API の他の機能について知りたい場合は、API ドキュメント スペースにアクセスしてください。また、ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。