WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Modélisation 3d pour les personnes vivant avec handicap.


par Sylvestre Frey
Université de Kinshasa - Licence 2018
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

II.3.2. Java3D

a. Caractéristiques

Java3D actuellement à la version 1.5.2, est une bibliothèque de classes destinée à créer des scènes 3D (utilisation de formes complexes, d'éclairages, de textures, d'animations, de sons ...) développée par SunMicrosystem en 1998. Contrairement à OpenGL et DirectX qui ont chacun leur implémentation, Java3D possède un support natif OpenGL, DirectX et QuickDraw3D. Mais pourquoi développer Java3D alors qu'existe déjà OpenGL et DirectX ? Le but est de faciliter la programmation en disposant de fonctions de haut niveau ainsi que de permettre l'écriture d'applets contenant des scènes 3D. Java3D est aussi justifié par la portabilité de Java, ainsi une application ou applet peut être lancée avec le même code compilé dans toutes les plateformes ou Java3D existe (actuellement Solaris, SGI, HP-UX, Linux et Windows).

b. Implémentation

Java3D est une extension du langage Java destinée à créer des scènes 3D. Il se présente sous la forme d'une bibliothèque de classes (packages J3D). Comme indiqué plus haut, Java3D utilise OpenGL ou DirectX pour fonctionner, rajoutant un niveau d'abstraction entre les bibliothèques 3D de base et le logiciel:

Figure II.9 : Abstraction entre les bibliothèques 3D de base et le logiciel.

Java3D utilise la classe Transform3D pour gérer les opérations de Translations, Rotations et Homotéties. Cette opération est associée à une instance de la classe TransformGroup, puis ajoutée à l'arbre de la scène pour l'appliquer sur une forme. Il existe trois modèles de rendu pour Java3D permettant d'espérer des optimisations conduisant à l'amélioration de la vitesse d'affichage :

ü Immediate Mode: Permet d'utiliser ou non la structure graphe de scène inhérente à l'API Java 3D. Plus flexible mais moins performant.

ü Retained mode : Tous les objets définis dans le graphe de scène accessibles et manipulables par programme, par sélection, ... Optimisation de la vitesse de rendu par réalisation automatique d'optimisations par Java3D.

ü Compiled-Retained mode : Meilleures performances de rendu par optimisation poussée, mais perte de la flexibilité de programmation liée aux possibilités d'accès et de modification des objets.

On notera enfin pour terminer sur Java3D qu'il existe une methode compile() de la class BranchGroup permettant d'optimiser le sous-arbre de ce BranchGroup.

c. Exemple

Peu d'applications industrielles sont développées avec Java3D. On observe plutôt des applications individuelles, du fait de la simplicité d'utilisation. Par exemple Java3D est très utilisée pour la création d'applets des sites scientifiques (représentations de molécules, simulations physiques, ...).

Figure II.10 : Exemple du rendu produit par Java3D [9]

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui rêvent de jour ont conscience de bien des choses qui échappent à ceux qui rêvent de nuit"   Edgar Allan Poe