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

Principes de base du protocole de routage IP Multicast - dummies

Principes de base du protocole de routage IP Multicast - dummies

IP Le routage multicast est le routage du trafic multicast. La nature des données IP Multicast est telle qu'elle a ses propres problèmes de routage de réseau Cisco. Il existe quatre protocoles de multidiffusion principaux pris en charge par le Cisco IOS actuel. L'illustration vous montre approximativement où les protocoles sont utilisés; Ce qui suit est ...

Comment le protocole STP (Spanning Tree Protocol) gère les modifications du réseau - dummies

Comment le protocole STP (Spanning Tree Protocol) gère les modifications du réseau - dummies

Nouveau concentrateur ou passer à un réseau mappé STP (Spanning Tree Protocol)? Pour cet exemple, un concentrateur était connecté à un port sur les deux commutateurs 11: 99 et 77: 22. Un concentrateur était utilisé car il ne disposait pas d'une intelligence réseau. L'effet net est en fait le même que ...

Types de réseau local (LAN) - nuls

Types de réseau local (LAN) - nuls

Un WAN est un type de réseau local (LAN) . Un réseau local est un réseau privé généralement constitué d'une connexion réseau fiable, rapide et bien connectée. Les alternatives sur le framework LAN incluent CAN, MAN et WAN. Ces trois options de réseau sont illustrées ci-dessous: CAN Si vous utilisez le réseau LAN ...

Le choix des éditeurs

Bebo est l'application de médias sociaux pour vous? - les nuls

Bebo est l'application de médias sociaux pour vous? - les nuls

Comment savez-vous quel est le bon média social pour vous? La culture moderne devient de plus en plus dépendante des médias sociaux tels que Bebo, Facebook, Twitter et What'sApp, ainsi que de nombreux autres. Le questionnaire suivant vous aidera à déterminer si vous avez ou non ce qu'il faut pour être social sur le nouveau ...

Comment utiliser Bebo - dummies

Comment utiliser Bebo - dummies

Bebo, la nouvelle application des médias sociaux, est aussi facile à utiliser que C'est amusant à regarder. Vous pouvez obtenir cette nouvelle application sur Google Play Store et Apple App Store. Lancez Bebo et suivez les instructions à l'écran pour terminer le processus de création de compte. Après avoir téléchargé avec succès, ...

Le choix des éditeurs

Ce que vous pouvez trouver dans une barre latérale de blog - des mannequins

Ce que vous pouvez trouver dans une barre latérale de blog - des mannequins

La plupart des blogs contiennent du matériel de barre latérale. La plupart des blogs sont disposés en deux ou trois colonnes, et le contenu de la barre latérale apparaît généralement dans les deuxième et / ou troisième colonnes. Certains blogs n'ont pas de barres latérales, et sur d'autres blogs, vous pouvez découvrir des éléments supplémentaires au-delà de ce que vous voyez ici. Archives basées sur la date: Presque tous les blogs sont ...

Lorsqu'un réseau publicitaire est approprié pour votre blog maman - les mannequins

Lorsqu'un réseau publicitaire est approprié pour votre blog maman - les mannequins

Ne sont que quelques-unes modèles conflit en cours d'exécution des publicités avec vos meilleurs intérêts. C'est quand vous bloguez pour vendre vos propres produits ou pour promouvoir vos services professionnels. Même dans ce cas, il est toujours possible de diffuser des annonces sur ces blogs, surtout si les annonces font la promotion de produits et de services complémentaires et non concurrents. Mais si vous êtes ...

Quand maman blogue pour Swag is Okay - les mannequins

Quand maman blogue pour Swag is Okay - les mannequins

Dans certaines circonstances légitimes vous pouvez vous sentir travailler gratuitement vaut votre temps et la publicité que vous offrez à une marque. Cela peut être comparé à un stage non rémunéré. Si vous êtes stagiaire et que vous avez une excellente expérience de travail, alors c'est une entreprise précieuse. Si vous êtes stagiaire et que vous ne versez que du café et que vous livrez ...