begin process at 2012 02 10 18:58:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Java3D

 > TEXTE ROTATIF JAVA 3D

TEXTE ROTATIF JAVA 3D


 Information sur la source

Note :
Aucune note
Catégorie :Java3D Classé sous :3d, j3d, universe, text3D, canvas3D Niveau :Débutant Date de création :29/11/2007 Date de mise à jour :30/11/2007 13:11:14 Vu :8 924

Auteur : tlaloctzin

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Simplement un texte en 3d qui tourne sur lui meme ... a la façon de l'écran de veille Windows (oO).
Je débute en J3D , alors je me suis inspiré ( et plus encor ) du toturial présent sur

http://rvirtual.free.fr/programmation/java3d/int ro.html

clair et simple .

Source

  • import com.sun.j3d.utils.universe.SimpleUniverse;
  • import java.awt.BorderLayout;
  • import java.awt.Color;
  • import java.awt.Font;
  • import javax.media.j3d.Alpha;
  • import javax.media.j3d.Appearance;
  • import javax.media.j3d.BoundingSphere;
  • import javax.media.j3d.BranchGroup;
  • import javax.media.j3d.Canvas3D;
  • import javax.media.j3d.ColoringAttributes;
  • import javax.media.j3d.Font3D;
  • import javax.media.j3d.FontExtrusion;
  • import javax.media.j3d.Material;
  • import javax.media.j3d.PointLight;
  • import javax.media.j3d.RotationInterpolator;
  • import javax.media.j3d.Shape3D;
  • import javax.media.j3d.Text3D;
  • import javax.media.j3d.Transform3D;
  • import javax.media.j3d.TransformGroup;
  • import javax.swing.JFrame;
  • import javax.vecmath.Color3f;
  • import javax.vecmath.Point3d;
  • import javax.vecmath.Point3f;
  • import javax.vecmath.Vector3f;
  • /**
  • *
  • * @author Tlaloc
  • */
  • public class tlaloctzin extends JFrame {
  • public tlaloctzin() {
  • //création de la fenetre , rien d'exeptionel
  • super();
  • setSize(500,300);
  • setTitle("Tlaloctzin en 3D");
  • setLayout(new BorderLayout());
  • //on crée le canvas3D qui va contenir la scene
  • Canvas3D canvas = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
  • add("Center",canvas);
  • SimpleUniverse universe = new SimpleUniverse(canvas);
  • universe.getViewingPlatform().setNominalViewingTransform();
  • universe.addBranchGraph(createScene());
  • }
  • public BranchGroup createScene(){
  • //on commence par créer l'apparence
  • Appearance apparence = new Appearance();
  • //on cree les attributs de couler que l'on va appliquer a l'apparence
  • ColoringAttributes couleur = new ColoringAttributes();
  • couleur.setColor(new Color3f(Color.GRAY));
  • couleur.setShadeModel(ColoringAttributes.NICEST);
  • apparence.setColoringAttributes(couleur);
  • //on configure
  • Material mat=new Material(new Color3f(1f,1f,0f),new Color3f(0f,0f,0f),new Color3f(1f,1f,0f),new Color3f(1f,1f,1f),64);
  • apparence.setMaterial(mat);
  • //on cré le branchgroupe que l on attribueras au canvas3D
  • BranchGroup branch = new BranchGroup();
  • //création de la font et de l 'apparence de l'objet 3D
  • Font3D font =new Font3D(new Font("Helvetica",Font.PLAIN,1),new FontExtrusion());
  • Text3D texte = new Text3D(font , "Tlaloctzin",new Point3f(0.0f,-0.25f,0.0f));
  • texte.setAlignment(Text3D.ALIGN_CENTER);
  • //il faut transhpormer le texte3D en shape pour pouvoir l'integrer a la scene
  • Shape3D text=new Shape3D();
  • text.setGeometry(texte);
  • //on atribue l'apparence
  • text.setAppearance(apparence);
  • //on retaille l'objet 3D ( la taille des polices est exagérée)
  • Transform3D scale3D = new Transform3D();
  • scale3D.setScale(0.2f);//soit 20 % de la taille normale
  • TransformGroup scale = new TransformGroup(scale3D);
  • //on autorise la modification durant l'execution'
  • scale.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
  • //ici on applique la modification de taille
  • scale.addChild(text);
  • //creation de la rotation dans le temps -1 pr durée a l'infinie , 4000 pour la vitesse de rotation plus grand , plus lent !
  • Alpha alpha = new Alpha(-1,4000);
  • //application de l'alpha ci dessus a l'objet'
  • RotationInterpolator rotator=new RotationInterpolator(alpha,scale);
  • //zone de rotation
  • BoundingSphere bounds=new BoundingSphere();
  • rotator.setSchedulingBounds(bounds);
  • //on applique
  • scale.addChild(rotator);
  • //on rajoute l'objet3D a la scene
  • branch.addChild(scale);
  • //on ajoute la lumiere
  • PointLight light=new PointLight(new Color3f(Color.GRAY),new Point3f(2f,2f,2f),new Point3f(1f,0f,0f));
  • light.setInfluencingBounds(new BoundingSphere(new Point3d(),150d));
  • branch.addChild(light);
  • branch.compile();
  • return branch ;
  • }
  • public static void main ( String [] args ){
  • tlaloctzin tla = new tlaloctzin();
  • tla.setVisible(true);
  • }
  • }
import com.sun.j3d.utils.universe.SimpleUniverse;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import javax.media.j3d.Alpha;
import javax.media.j3d.Appearance;
import javax.media.j3d.BoundingSphere;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.ColoringAttributes;
import javax.media.j3d.Font3D;
import javax.media.j3d.FontExtrusion;
import javax.media.j3d.Material;
import javax.media.j3d.PointLight;
import javax.media.j3d.RotationInterpolator;
import javax.media.j3d.Shape3D;
import javax.media.j3d.Text3D;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.swing.JFrame;
import javax.vecmath.Color3f;
import javax.vecmath.Point3d;
import javax.vecmath.Point3f;
import javax.vecmath.Vector3f;

/**
 *
 * @author Tlaloc
 */
public class tlaloctzin extends JFrame {
    
    
    public tlaloctzin() {
        //création de la fenetre , rien d'exeptionel
        super();
        setSize(500,300);
        setTitle("Tlaloctzin en 3D");
        setLayout(new BorderLayout());
        
        //on crée le canvas3D qui va contenir la scene
        Canvas3D canvas = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
        add("Center",canvas);
        

        SimpleUniverse universe = new SimpleUniverse(canvas);
        universe.getViewingPlatform().setNominalViewingTransform();
        universe.addBranchGraph(createScene());
        
    }
    
    public BranchGroup createScene(){
        //on commence par créer l'apparence 
        Appearance apparence = new Appearance();
        //on cree les attributs de couler que l'on va appliquer a l'apparence
        ColoringAttributes couleur = new ColoringAttributes();
        couleur.setColor(new Color3f(Color.GRAY));
        couleur.setShadeModel(ColoringAttributes.NICEST);
        apparence.setColoringAttributes(couleur);
        //on configure
        Material mat=new Material(new Color3f(1f,1f,0f),new Color3f(0f,0f,0f),new Color3f(1f,1f,0f),new Color3f(1f,1f,1f),64);
        apparence.setMaterial(mat);   
        //on cré le branchgroupe que l on attribueras au canvas3D
        BranchGroup branch = new BranchGroup();
        //création de la font et de l 'apparence de l'objet 3D
        Font3D font =new Font3D(new Font("Helvetica",Font.PLAIN,1),new FontExtrusion());
        Text3D texte = new Text3D(font , "Tlaloctzin",new Point3f(0.0f,-0.25f,0.0f));
        texte.setAlignment(Text3D.ALIGN_CENTER);
        //il faut transhpormer le texte3D en shape pour pouvoir l'integrer a la scene
        Shape3D text=new Shape3D();
        text.setGeometry(texte);
        //on atribue l'apparence
        text.setAppearance(apparence);
        //on retaille l'objet 3D ( la taille des polices est exagérée)
        Transform3D scale3D = new Transform3D();
        scale3D.setScale(0.2f);//soit 20 % de la taille normale
        TransformGroup scale = new TransformGroup(scale3D);
        //on autorise la modification durant l'execution'
        scale.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
        //ici on applique la modification de taille
        scale.addChild(text);
        //creation de la rotation dans le temps -1 pr durée a l'infinie , 4000 pour la vitesse de rotation plus grand , plus lent !
        Alpha alpha = new Alpha(-1,4000);
        //application de l'alpha ci dessus a l'objet'
        RotationInterpolator rotator=new RotationInterpolator(alpha,scale);
        //zone de rotation
        BoundingSphere bounds=new BoundingSphere();
        rotator.setSchedulingBounds(bounds);
        //on applique
        scale.addChild(rotator);
        //on rajoute l'objet3D a la scene
        branch.addChild(scale);
        //on ajoute la lumiere 
        PointLight light=new PointLight(new Color3f(Color.GRAY),new Point3f(2f,2f,2f),new Point3f(1f,0f,0f));
        light.setInfluencingBounds(new BoundingSphere(new Point3d(),150d));
        branch.addChild(light);


        branch.compile();
        return branch ;
    }
    
    public static void main ( String [] args ){
        tlaloctzin tla = new tlaloctzin();
        tla.setVisible(true);
    }

        
}



 Historique

30 novembre 2007 13:11:14 :
.

 Sources du même auteur

Source avec une capture GRAPHIQUE EN BÂTON
Source avec une capture SPLASH SCREEN AVEC JPROGRESSBAR
Source avec Zip FRAME AVEC FONDS SUR NETBEANS EN CONSERVANT LE GUI EDITOR

 Sources de la même categorie

Source avec Zip Source avec une capture DÉMONSTRATION DE JAVA 3D par Scupper
Source avec Zip SIMPLE CUBE COLORÉ POUR J2ME [JSR184] AVEC UNE DEMO SIMPLE par loloof64
Source avec Zip JEU INTÉGRAL EN JAVA 3D par surfeurman5
Source avec Zip [JAVA3D] PARSEUR DE FICHIER WAVEFRONT par bebe47
Source avec Zip UNIVERS SIMPLE (LUNE,TERRE,SOLEIL) AVEC JAVA3D par bad_smi

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture JWOLFENSTEIN 3D ! par tucobouch
Source avec Zip Source avec une capture MAP 3D ISOMETRIQUE par coucou747
Source avec Zip Source avec une capture PETITE DÉMO DE LA 3D ISOMETRIQUE par tucobouch
Source avec Zip Source avec une capture MAQUETTE EN 3D DU SYTEME LUNE TERRE SOLEIL POUR EXPLIQUER LE... par cristian_2
Source avec Zip Source avec une capture LABYRINTHE À BILLE EN JAVA3D par pikako

Commentaires et avis

Commentaire de mayna21 le 30/11/2007 10:26:35

errure a ligne de code 33
invalid method declaration;return type required

Commentaire de tlaloctzin le 30/11/2007 13:08:21

effectivement , il faut enlever la majuscule au nom du constructeur ...
Désolé

Commentaire de souicioql le 21/08/2010 16:09:00

erre avec imort com.sun.3d.*

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Popups pour objets 3D et canvas3D [ par sofien007 ] salut pour tout le monde, y'a t'il quelqu'un qui connait comment affecter des popups pour des objets 3d en java3D. Je voudrais les utilises comme su Canvas3D JPanel et Behavior [ par Logod ] <link rel="Fi Pb avec Java 3D [ par vincem35 ] Vincebonjour,je sais faire tourner un cube avec Java 3d ça c'est simple.mais pour que le cube tourne sur lui même, il faut que le cube soit en positio java 3D et collision [ par notyetadj ] salut je suis sur un projet de visite virtuelle d'un centre commercial et j'ai rencontré un problème majeur: en effet quand je me balade dans le cent java 3d [ par amanatarra7man ] bonjour j'ai un probeme avec java 3d, j'ai telecherger qlqs exemples du net pour s'en trainer, en executant qlqs erreur comme : " cannot  access com.s java 3d [ par amanatarra7man ] bonjour s'il vous plait aidez moi a savoir si la modelisation de pied humain avec java 3d est posible ayant com entrées : les longueurs caractéristiqu java 3d [ par amanatarra7man ] Svp ce code affiche 2 cylindre de grandeurs differents  je ve afficher l'un sous l'autre mais je pe pas svp aidez moivoila le code:/ Etape 1 :// Impor pied humain [ par amanatarra7man ] je vous demande une question a propos java 3D je dois moeliser le pied humain avec java 3D j'ai penser a le moeliser avec les  classes predefinis pied humain 3d [ par amanatarra7man ] svp je suis nouvelle dans le monde 3d je vais demander si java 3d est la meilleur solution pour developper uine application permettant de modeliser le la borne de cramer-rao en modelisation 3D [ par nonosat ] salut, aide moi svp pour mon sujet


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales