Newsgroup: it.arti.musica.strumenti.chitarra
Titolo: [OT]  OT! ahahah!, vabbè lo metto amici miei SUPERSMANETTONI!

Allora, amici miei, assodato che i migliori smanettoni
del mondo sono qui dentro, vi propongo un problema.
PROBLEMA:
Avete presente VRML?
[ ] Sì
[ ] No
Avete presente java 3D
[ ] Sì
[ ] No
Se avete risposto sì alle precedenti, vediamo se sapete
rispondere a questo quesito, che nessuno, nel web mondiale, sa
come risolvere (fare ricerche con gugle per credere)
Supponiamo che voi abbiate questo file:
**************************************+
package javaapplication1.cap3;
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.*;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.ColorCube;
import javax.media.j3d.*;
import javax.vecmath.*;
// package da importare per visualizzare il codice del file .wrl
import com.sun.j3d.loaders.objectfile.ObjectFile;
import com.sun.j3d.loaders.ParsingErrorException;
import com.sun.j3d.loaders.IncorrectFormatException;
import com.sun.j3d.loaders.Scene;
import java.io.*;
/**
 *
 * @author admin
 */
public class MiaApplet3D31 extends Applet {
    // variabile per la memorizzazione del file che devo importare
    private String filename = "cilindro.wrl";
    // Costruttore della classe, per la preparazione dello "scene graph"
    public MiaApplet3D31(){
        this.setLayout(new BorderLayout());
        // 1. impostazione del Canvas3D
        Canvas3D canvas3D = new 
Canvas3D(SimpleUniverse.getPreferredConfiguration());
        this.add(BorderLayout.CENTER,canvas3D);
        // 2. Creazione del "branch group" contenente le caratteristiche
        //    dell'oggetto da visualizzare'
        BranchGroup scena = createSceneGraph();
        // 3. Compilazione del "BRANCH GROUP"
        scena.compile();
        // 4. Creazione del "SimpleUniverse" e impostazione
        SimpleUniverse simpleU = new SimpleUniverse(canvas3D);
        simpleU.getViewingPlatform().setNominalViewingTransform();
        // 5. "aggancio" del branch group al SimpleUniverse
        simpleU.addBranchGraph(scena);
    }
    // metodo apposito per la creazione del branch group
    public BranchGroup createSceneGraph(){
        BranchGroup objroot = new BranchGroup();
        ObjectFile f = new ObjectFile();
        Scene s = null;
        try{
            s = f.load(filename);
        }catch(FileNotFoundException e){
            System.err.println(e);
            System.exit(1);
        }catch(ParsingErrorException e){
            System.err.println(e);
            System.exit(1);
        }catch(IncorrectFormatException e){
            System.err.println(e);
            System.exit(1);
        }
        objroot.addChild(s.getSceneGroup());
        return objroot;
    }
    // ...per far partire l'applet...
    public static void main(String[] args) {
        Frame frame = new MainFrame(new MiaApplet3D31(),300,300);
    }
}
**********************************************************
Il quale fa riferimento a questo file, vrml:
**********************************************************
#VRML V2.0 utf8
#un cilindro
Shape{
  appearance Appearance{
     material Material{
        emissiveColor 1.0 0.0 0.0}
  }
  geometry Cylinder{
    height 5.0
    radius 6.0
  }
}
*************************************************************
L'errore coumnicato è questo:
******************************************************
com.sun.j3d.loaders.ParsingErrorException: Unrecognized token, line 3
******************************************************
Voi avete capito o perchè? O meglio, qualcuno di voi è in grado di
capire perchè?
Io no, e sto smanettando come un fottuto caimano in preda a raptus
smanettante, ma non ho cavato un ragno dal buco.
Chi risolve il problema avrà in regalo (giuro) la mia simulazione
in vrml di una chitarra 3D, davvero figa! Che mi valse un trenta
all'esame di informatica grafica, tempo addietro (parecchio).
Insomma una simulazione cazzuta!
Quindi, siamo in tema di chitarre e forse non sono OT!
Gigio
p.s.
A I U T A T E M E  ! ! !


Ma chi sei IL SANTO ?
Non facevi C++ ? 

 Non facevi C++ ?
Si sono io, ciao Master.
Si ho studiato C++, e tra una suonata con l'acustica e l'altra, adesso
utilizzo java, anche se continua a servirmi C++, di tanto in tanto...
Questo perchè, per alcuni lavori, è necessario conoscere java; in 
particolare:
J2SE
J2EE
J2ME
Ai tempi di C/C++, avevo imparato ad utilizzare VRML, il quale permetteva di 
creare
dei mondi "virtuali" 3D da visualizzare in un browser. L'ultima versione di 
VRML, però
risale al 1997, infatti VRML ha lasciato il post a X3D, che è una versione 
"aggiornata" di VRML
che sfrutta il modo di scrivere tag di XML.
Adesso, dirai tu, che è tutta sta palle che già me so fatto du palle solo a 
sentitte?
Niente, dico io, si fa per parlare e per farci compagnia!
Allora, dicevo...
Tornando a Java, a differenza del C++ che, per programmare grafica aveva 
bisogno di
OpenGL, qui abbiamo le API j3d che puoi trovare qui:
http://java.sun.com/products/java-media/3D/
Che ti permettono di progettare dei mondi virtuali 3D.
Adesso è successo che, arrivando al terzo capitolo del tutorial, ho letto:
"A Loader class reads 3D scene files (not java files) and creates java 3D 
rappresentation
of the file contents"
Bene, ho detto io!
Facciamo una prova, così prendo il mio file "chitarra3D.wrl" e la apro come 
file java, mediante
scrittura di apposito codice, come quello che ho postato.
Però che è successo caro Master?
Adesso te lo dico: NON FUNZIONA UN CAZZO!
Ed è così, che in un tedioso pomeriggio domenicale di finto-autunno, io e te
ci ritroviamo qui a parlare del + e del -
Anzi no! Ci troviamo a parlare del C++!
Ciao!
IL SANTO (gigio)