個人財務 JavaFXプログラミング例:3D Box - ダミー

JavaFXプログラミング例:3D Box - ダミー

目次:

ビデオ: Javaでゲームを作ろう4 - JavaFX 3Dゲーム編 PRUSHER 3D 2024

ビデオ: Javaでゲームを作ろう4 - JavaFX 3Dゲーム編 PRUSHER 3D 2024
Anonim

JavaFXには、現実的な3Dモデリングのサポートが組み込まれています。事実、JavaFXシーングラフは本質的に3次元です。ほとんどのJavaFXプログラムは、ちょうど2次元で動作し、x座標とy座標を指定します。しかし、3次元に進むために必要なのは、シーングラフのノードを3次元空間に配置するためにz座標を指定することだけです。

JavaFXには、3D世界で3Dオブジェクトを作成して視覚化するための豊富なクラスが用意されています。キューブや円柱などの3次元形状を作成できます。 3D空間内で仮想カメラを動かすと、異なる角度や視点から3Dオブジェクトを見ることができます。

<! - 1 - >

また、仮想世界の最終的な外観を慎重に制御するために光源を追加することもできます。要するに、JavaFXは驚異的な3Dシーンを制作することができます。

Javaワールドに3Dボックスを追加するこのステップでは、オブジェクトを3D世界に追加します。この場合、Boxクラスで表されるボックスです。コードは次のとおりです:

Box box = new Box(100,100,100);ボックス。 setMaterial(blueStuff);ボックス。 setTranslateX(150);ボックス。 setTranslateY(-100);ボックス。 setTranslateZ(-100);ルート。 getChildren()追加(ボックス);

Boxコンストラクタは、ボックスの幅、高さ、深さを表す3つの引数を受け取ります。この例では、3つすべてが100に設定されています。したがって、ボックスは各辺が100単位の立方体として描画されます。

<! - 2 - >

ボックスにはシリンダーと同じ材質が与えられています。次に、3軸すべてで翻訳され、ボックスの斜視図が表示されます。図は、レンダリング時のボックスの表示方法を示しています。ご覧のように、カメラの視点を得るためにボックスの位置を上にして右に移動したので、ボックスの左と下の面が表示されます。

<! - 3 - >

3Dボックスを回転する

このステップでは、ボックスを回転させて、さらに面白いパースペクティブビューを作成します。 3Dオブジェクトを回転させる方法は2つあります。最も単純なのは、オブジェクトのsetRotateメソッドを呼び出して、回転角度:

ボックスを指定することです。 setRotate(25);

デフォルトでは、オブジェクトはz軸上を回転します。これを視覚化することが難しい場合は、z軸に平行な長いスティックでオブジェクトを串刺しすることを想像してください。次に、オブジェクトを串の上に回転させます。

オブジェクトを別の軸に沿って回転させたい場合は、まずsetRotationAxisを呼び出します。たとえば、オブジェクトをX軸上で回転させるには、

ボックスを使用します。 setRotationAxis(Rotate。X_AXIS);ボックス。 setRotate(25);

串をx軸に平行にして箱に25度回転させて串を動かしたとします。

setRotateメソッドを使用して3Dオブジェクトを回転させる唯一の問題は、一度に1つの軸でのみ機能することです。たとえば、z軸とx軸の両方でボックスを25度回転させたいとします。次のコードは

これを実行しません: setRotationAxis(Rotate。X_AXIS);ボックス。 setRotate(25);ボックス。 setRotationAxis(Rotate。Z_AXIS);ボックス。 setRotate(25); z軸上でボックスを回転するためにsetRotateメソッドが2回呼び出されると、x軸の回転がリセットされます。

複数の軸で回転するには、代わりに回転クラスを使用する必要があります。オブジェクトを回転させたい軸ごとに個別のRotateインスタンスを作成し、getTransforms()を介してすべてのRotateインスタンスをオブジェクトのTransformsコレクションに追加します。 addAllメソッドは以下のようになります:

Rotate rxBox = new Rotate(0、0、0、0、Rotate。X_AXIS);回転ryBox = new回転(0、0、0、0、回転、Y_AXIS);回転rzBox = new Rotate(0、0、0、0、Rotate。Z_AXIS); rxBox。 setAngle(30); ryBox。 setAngle(50); rzBox。 setAngle(30);ボックス。 getTransforms()。 addAll(rxBox、ryBox、rzBox);

Rotateコンストラクタは4つのパラメータを受け入れます。最初の3つは、回転軸が通過するオブジェクト内の点のx、y、z座標です。一般的には、オブジェクトをその中心点の周りに回転させるために、これらのパラメータにゼロを指定します。 4番目のパラメータは、回転軸を指定します。

この図は、回転後のボックスの表示を示しています。

回転した後のボックス。

JavaFXプログラミング例:3D Box - ダミー

エディタの選択

Drupalフォーラムの有効化 - ダミー

Drupalフォーラムの有効化 - ダミー

フォーラムはユーザーコミュニティを作成するのに最適です。人々は他者からの援助を得ることができ、あなたのコンテンツに関するフィードバックを提供し、単純に社会化することができます。あなたのDrupalフォーラムは、あなたが望むようにしっかりとまたはゆるやかに制御することができます。フォーラムで許可されているカテゴリを制御できます。フォーラムの例を見るには、Drupal Forumを参照してください。 ...

ドリューパルフレンドリーなウェブホスティング会社 - ダミー

ドリューパルフレンドリーなウェブホスティング会社 - ダミー

ウェブホスティング会社は、あなたがDrupalをインストールし、あなたのサイトをウェブ上に見えるようにするWebサーバー。一部の企業では、Drupalをインストールしたり、ワンクリックでインストールすることができます。あなたがDrupalのインストールをスキップする場合は、次のいずれかのアカウントを取得することを検討してください。

Drupalガーデンサイト構造管理 - ダミー

Drupalガーデンサイト構造管理 - ダミー

Drupal Garden Structureページでは、 、ページ、およびブロックを表示します。このページから制御できる特定の機能、ブロック、およびページには、連絡先フォーム、フォーラム、メーリングリストなどがあります。ブロックで表示される機能をブロックで管理することもできます。

エディタの選択

エグゼクティブとのデータマイニング - ダミー

エグゼクティブとのデータマイニング - ダミー

数字で遊ぶという楽しみのためにデータマイニングに取り掛からない。あなたは行動を望む。あなたは正しいことを見たいと思っています。データからの確かな証拠に基づいてビジネス上の決定を下すことが重要であることを理解しています。しかし、あなたは決定を下す権限を持つ人ではありません。だからあなたは...

ビッグデータガバナンスチャレンジ - ダミー

ビッグデータガバナンスチャレンジ - ダミー

データガバナンスは、大きなデータソースが彼らがどのように管理されているか。従来のデータウェアハウスやリレーショナルデータベース管理の世界では、データ保護の必要性に関するルールをよく理解している可能性があります。たとえば、医療界では、それは...

エディタの選択

エレクトロニクスコンポーネント:赤外線ライトダミーを作成する方法

エレクトロニクスコンポーネント:赤外線ライトダミーを作成する方法

赤外線を電気的に生成するには、赤外線スペクトルで動作する特殊な発光ダイオード(LED)を使用します。赤外線LED(しばしばIR LEDと呼ばれる)は、RadioShackまたは電子部品を販売する他の店で容易に入手できます。 IR LEDは、通常のLEDと似ていますが、光を見ることはできません。

デジタルエレクトロニクス:キット74のDOSコマンド - ダミーの

デジタルエレクトロニクス:キット74のDOSコマンド - ダミーの

を通して、あなたの電子プロジェクトを制御する場合パラレルポートであるKit 74 DOSソフトウェアは、コマンドプロンプトから実行できるRELAY、DELAY、WAITFORの3つのコマンドで構成されています。 RELAYコマンドRELAYコマンドは、1バイトのデータをパラレルポートに送信します。あなたから実行できること - RELAY、DELAY、およびWAITFOR - 8つの出力端子のそれぞれが...

デジタルエレクトロニクス:フリップフロップ回路の種類? - エレクトロニクスではダミー

デジタルエレクトロニクス:フリップフロップ回路の種類? - エレクトロニクスではダミー

、フリップフロップは特殊なタイプのゲートラッチ回路です。フリップフロップにはいくつかの異なるタイプがあります。フリップフロップの最も一般的なタイプは次のとおりです。SRフリップフロップ:SRラッチに似ています。 CLOCK入力に加えて、SRフリップフロップにはSETとRESETという2つの入力があります。 SET入力がHIGHの場合...