Accueil Finances personnelles Exemple de programmation javaFX: 3D Box - mannequins

Exemple de programmation javaFX: 3D Box - mannequins

Table des matières:

Vidéo: Cool 2D and 3D graphics with JavaFX 2025

Vidéo: Cool 2D and 3D graphics with JavaFX 2025
Anonim

JavaFX supporte la modélisation 3D réaliste. En fait, le graphe de scène JavaFX est de nature tridimensionnelle. La plupart des programmes JavaFX fonctionnent en deux dimensions, spécifiant seulement les coordonnées x et y. Mais tout ce que vous avez à faire pour entrer dans la troisième dimension est de spécifier les coordonnées z pour placer les nœuds de votre scène dans un espace tridimensionnel.

JavaFX comprend un riche ensemble de classes dédiées à la création et à la visualisation d'objets 3D dans les mondes 3D. Vous pouvez créer des formes tridimensionnelles, telles que des cubes et des cylindres. Vous pouvez déplacer la caméra virtuelle dans l'espace 3D pour regarder vos objets 3D sous différents angles et différentes perspectives.

Et vous pouvez même ajouter des sources d'éclairage pour contrôler soigneusement l'apparence finale de vos mondes virtuels. En résumé, JavaFX est capable de produire des scènes 3D étonnantes.

Ajouter une boîte 3D à votre monde Java

Dans cette étape, ajoutez un objet au monde 3D: dans ce cas, une boîte, représentée par la classe Box. Voici le code:

Box box = new Box (100, 100, 100); boîte. setMaterial (blueStuff); boîte. setTranslateX (150); boîte. setTranslateY (-100); boîte. setTranslateZ (-100); racine. getChildren (). ajouter (boîte);

Le constructeur Box accepte trois arguments représentant la largeur, la hauteur et la profondeur de la boîte. Dans cet exemple, tous les trois sont mis à 100. Ainsi, la boîte sera dessinée comme un cube avec chaque côté mesurant 100 unités.

La boîte reçoit le même matériau que le cylindre; Ensuite, il est traduit sur les trois axes afin que vous puissiez avoir une vue en perspective de la boîte. La figure montre comment la boîte apparaît lors du rendu. Comme vous pouvez le voir, les faces gauche et inférieure de la boîte sont visibles parce que vous avez traduit la position de la boîte vers le haut et vers la droite pour que la caméra puisse prendre du recul.

Rotation de la boîte 3D

Dans cette étape, faites pivoter la boîte pour créer une vue en perspective encore plus intéressante. Il existe deux façons de faire pivoter un objet 3D. Le plus simple est d'appeler la méthode setRotate de l'objet et de fournir un angle de rotation:

. setRotate (25);

Par défaut, cela fera tourner l'objet sur son axe z. Si cela est difficile à visualiser, imaginez que vous inclinez l'objet avec un long manche parallèle à l'axe z. Ensuite, faites tourner l'objet sur la brochette.

Si vous voulez faire pivoter l'objet le long d'un axe différent, appelez d'abord setRotationAxis. Par exemple, pour faire tourner l'objet sur son axe x, utilisez cette séquence:

. setRotationAxis (Rotation.X_AXIS); boîte. setRotate (25);

Imaginez que vous faites passer la brochette à travers la boîte avec la brochette parallèle à l'axe des x, puis faites tourner la boîte de 25 degrés.

Le seul problème avec l'utilisation de la méthode setRotate pour faire pivoter un objet 3D est qu'il ne fonctionne que sur un axe à la fois. Par exemple, supposons que vous souhaitiez faire pivoter la boîte de 25 degrés sur les axes z et x. Le code suivant ne sera pas accomplir ceci:

boîte. setRotationAxis (Rotation.X_AXIS); boîte. setRotate (25); boîte. setRotationAxis (Rotate. Z_AXIS); boîte. setRotate (25);

Lorsque la méthode setRotate est appelée la deuxième fois pour faire pivoter la boîte sur l'axe z, la rotation de l'axe des x est réinitialisée.

Pour effectuer une rotation sur plusieurs axes, vous devez utiliser la classe Rotation à la place. Vous créez une instance Rotate distincte pour chaque axe sur lequel vous souhaitez faire pivoter l'objet, puis ajoutez toutes les occurrences Rotate à la collection Transforms de l'objet via getTransforms (). Méthode addAll, comme ceci:

Rotate rxBox = new Rotate (0, 0, 0, 0, Rotation, X_AXIS); Rotate ryBox = new Rotate (0, 0, 0, 0, Rotation, Y_AXIS); Tournez rzBox = new Rotate (0, 0, 0, 0, Rotation, Z_AXIS); rxBox. setAngle (30); ryBox. setAngle (50); rzBox. setAngle (30); boîte. getTransforms (). addAll (rxBox, ryBox, rzBox);

Le constructeur Rotate accepte quatre paramètres. Les trois premiers sont les coordonnées x, y et z du point dans l'objet à travers lequel l'axe de rotation passera. Généralement, vous spécifiez des zéros pour ces paramètres afin de faire pivoter l'objet autour de son point central. Le quatrième paramètre spécifie l'axe de rotation.

Cette figure montre comment la boîte apparaît après la rotation.

La boîte après la rotation.

Exemple de programmation javaFX: 3D Box - mannequins

Le choix des éditeurs

Pour les seniors: Comment travailler avec Windows dans Microsoft Windows - les nuls

Pour les seniors: Comment travailler avec Windows dans Microsoft Windows - les nuls

Windows, avec un W majuscule, tire son nom de sa caractéristique principale: Windows, avec un w minuscule. Se familiariser avec Windows signifie apprendre à ouvrir, fermer, redimensionner, déplacer et basculer entre les fenêtres, ce qui est la clé pour jongler avec succès avec plusieurs activités. Chaque programme que vous exécutez occupe sa propre fenêtre. Une fenêtre peut occuper une partie de ...

Comment accepter ou rejeter les cookies dans Safari - dummies

Comment accepter ou rejeter les cookies dans Safari - dummies

Un cookie est un petit fichier qu'un site Web enregistre automatiquement sur le disque dur de votre Mac. Il contient des informations, telles que vos préférences ou votre date de naissance, que le site utilisera lors de vos prochaines visites. Dans Mac OS X Snow Leopard, Safari vous permet de choisir d'accepter ou non tous les cookies ...

Le choix des éditeurs

Construire des boîtes et des lignes Bézier dans QuarkXPress - des nuls

Construire des boîtes et des lignes Bézier dans QuarkXPress - des nuls

Pour créer une boîte ou une ligne dans QuarkXPress plus complexe qu'un simple rectangle, ovale ou starburst, vous entrez dans le domaine du chemin de Bézier. Si vous avez utilisé l'outil Plume dans Adobe Illustrator ou Photoshop, vous comprenez déjà les chemins de Bézier. Il faut un peu de pratique et un esprit détendu ...

Création d'un rapport avec Crystal Reports 10 - témoins

Création d'un rapport avec Crystal Reports 10 - témoins

Lorsque vous démarrez Crystal Reports 10, généralement l'une des trois choses suivantes: créer un rapport, modifier un rapport ou exécuter un rapport sur les données de votre base de données. Les rapports prennent des données à partir d'une base de données, les traitent, les formatent et les affichent ensuite sur une imprimante, un écran d'ordinateur ou un site Web. Crystal Reports ...

Traitant des commentaires Javadoc dans Eclipse - mannequins

Traitant des commentaires Javadoc dans Eclipse - mannequins

Lorsque vous utilisez Eclipse pour écrire du code Java, n'oubliez pas de éditez les commentaires de Javadoc (les choses qui commencent par / **). Vous pouvez ajouter des informations utiles lorsque vous modifiez les commentaires Javadoc et lorsque vous les modifiez, l'aide au code d'Eclipse propose des suggestions. N'oubliez pas ces astuces lorsque vous modifiez vos commentaires Javadoc: Ajouter un commentaire Javadoc: ...

Le choix des éditeurs

Les connexions cachées sur le Nikon D5600 - les nuls

Les connexions cachées sur le Nikon D5600 - les nuls

Ouvrent les couvercles sur les côtés gauche et droit du Nikon D5600 caméra, et vous verrez plusieurs ports de connexions cachées. Les ports de connexion suivants sont indiqués sur cette image: Terminal d'accessoires: ce terminal accepte les accessoires suivants: câble déclencheur à distance Nikon MC-DC2; Télécommandes sans fil WR-1 et WR-R10; et les unités GPS GP-1 / GP-1A. I ...

Les connexions cachées sur votre Nikon D5200 - les nuls

Les connexions cachées sur votre Nikon D5200 - les nuls

ÉParpillés sur l'extérieur de votre appareil photo sont nombreuses commandes que vous utilisez pour changer d'image -prend des paramètres, revoir et modifier vos photos, et effectuer diverses autres opérations. Caché sous le couvercle sur le côté gauche de la caméra, vous trouverez les quatre ports de connexion suivants, étiquetés dans cette figure: Borne accessoire: Vous pouvez brancher le Nikon en option ...

Des boutons et autres commandes du Nikon D7500 - mannequins

Des boutons et autres commandes du Nikon D7500 - mannequins

C'est génial d'avoir une carte pour le boutons et commandes sur votre appareil photo, mais ce n'est pas beaucoup d'aide si vous ne pouvez pas vous rappeler quel bouton appuyer sur quand (et pourquoi). Alors, voici un aperçu des fonctions des contrôles les plus importants. (Certains contrôles ont des fonctions supplémentaires pendant certaines opérations, mais la table ...