Beiträge von Angelo

    Hallo,

    Danke für Deine Empfehlung.

    Ich habe seit einigen Tagen meine Fragen direkt hier im Forum gestellt, aber niemand ist zu meiner Hilfe gekommen.

    Ich weiß es nicht, warum????

    Vielleicht hast Du einen besseren Vorschlag, wie ich meine Fragen besser stellen kann?

    Hallo wieder,

    ich lerne neu Java3D Programmierung und ich habe kurze Fragen dazu.

    Also suche ich nach schneller Hilfe bei meinen kurzen Fragen.

    Ich habe versucht, meine Fragen hier direkt im Forum zu stellen, aber sie ändern sich schnell.

    Und ich muss auch ganz Programm und Anhang hochladen.

    Deswegen wenn Sie mir dabei helfen wollen, können Sie bitte direkt bei mir auf meine folgende e-Mail Adresse anmelden:

    angelo.baro@yahoo.de

    Damit kann ich Ihnen meine Fragen schnell senden.

    Ich denke, so können wir schneller arbeiten.

    Und dann kann ich die gelöste Aufgabe im Forum hochladen.

    Mit besten Grüßen

    Angelo

    Hallo wieder,

    ich habe die erste Aufgabe erledigt.

    Jetzt kann das Programm ganz in Ordnung die Editorseite aufrufen und die kleine Kugeln erzeugen.

    Diese Editorseite enthält Zahlen von 3 Komponenten Punkten (x, y, z).
    z.B: (1, 2, 3) (2, 4, 6) (3, 5, 7) usw.

    Die gebliebene Frage ist jetzt so:

    Aber die Editorseite, die ich bearbeiten muss, enthält Werte (3 Komponentenzahlen
    (x, y, z)), die so näh voneinander sind.

    z.B: (0.1, 0.2, 0.3)
    (0.11, 0.21, 0.31)
    (0.12, 0.22, 0.32)
    usw.

    Deswegen beim Starten des Programms sehen die Kugeln aufeinander aus.
    Die einzige Lösung dafür ist Skalieren.

    Also muss ich diese Kugeln skalieren, ohne ihre Eigenschaften voneinander zu ändern, damit sie gut aussehen.

    Skalieren heißt z.B. wie Transformieren in Mathematik:

    x * 1000 = x
    y * 1000 = y
    z. * 1000 = y

    Aber es fehlt mir, wie ich es in Java schreiben kann.

    Ich schreibe unten mein bis jetzt erledigtes Programm „HelloJava3Da.java“.

    Das gefehlte Skalierungsteil muss unter der Zeile for(int i=0; i<30; i++) geschrieben werden.

    Für weitere Erklärungen stehe ich sofort zur Verfügung.

    Mit besten Grüßen

    Angelo

    Es folgt das Programm „HelloJava3Da.java“:

    import java.applet.Applet;
    import java.awt.BorderLayout;
    import java.awt.GraphicsConfiguration;

    import javax.media.j3d.*;
    import javax.vecmath.*;

    import com.sun.j3d.utils.applet.MainFrame;
    import com.sun.j3d.utils.geometry.Primitive;
    import com.sun.j3d.utils.geometry.Sphere;
    import com.sun.j3d.utils.universe.SimpleUniverse;
    import java.util.ArrayList;
    import java.util.List;

    public class HelloJava3Da extends Applet {
    /**
    * The generated serialVersionUID.
    */
    private static final long serialVersionUID = -8652165991244123757L;

    static List<Vector3d> list;

    /**
    * @param args
    */
    public static void main(final String[] args) {
    Einleser einL = new Einleser();
    list = einL.read("F:/Javajob/Aufgabe1/Auf1/rt.txt");
    new MainFrame(new HelloJava3Da(), 256, 256);
    } // end of main (method of HelloJava3Da)

    public HelloJava3Da() {
    this.setLayout(new BorderLayout());
    final GraphicsConfiguration config = SimpleUniverse
    .getPreferredConfiguration();

    final Canvas3D canvas3D = new Canvas3D(config);
    this.add("Center", canvas3D);

    final BranchGroup scene = this.createSceneGraph();

    // SimpleUniverse is a Convenience Utility class
    final SimpleUniverse simpleU = new SimpleUniverse(canvas3D);

    // This will move the ViewPlatform back a bit so the
    // objects in the scene can be viewed.
    simpleU.getViewingPlatform().setNominalViewingTransform();

    simpleU.addBranchGraph(scene);
    } // end of HelloJava3Da (constructor)

    // The following allows this to be run as an application
    // as well as an applet

    Appearance createAppearance() {

    Color3f lColor1 = new Color3f(1.0f, 0.0f, 0.0f);
    ColoringAttributes caL1 = new ColoringAttributes();
    caL1.setColor(lColor1);
    Appearance appL1 = new Appearance();
    appL1.setColoringAttributes(caL1);
    return appL1;
    }

    public BranchGroup createSceneGraph() {
    // Create the root of the branch graph
    final BranchGroup objRoot = new BranchGroup();

    //final Transform3D zTrans = new Transform3D();
    //zTrans.set(new Vector3f(1f, 2f, 1.3f)); // -------------------------------
    // POSITION 1
    //final TransformGroup objTrans = new TransformGroup(zTrans);
    //objTrans.addChild(new Sphere(0.9f, Primitive.GENERATE_NORMALS, this
    //.createAppearance()));
    for(int i=0; i<30; i++)
    {
    Transform3D zTrans2 = new Transform3D();

    zTrans2.set(list.get(i));

    //zTrans.set(new Vector3f(3f, 3f, 4f)); // -------------------------------
    // POSITION 2
    TransformGroup objTrans2 = new TransformGroup(zTrans2);
    objTrans2.addChild(new Sphere(0.1f, Primitive.GENERATE_NORMALS, this
    .createAppearance()));

    //objRoot.addChild(objTrans);
    objRoot.addChild(objTrans2);
    }
    return objRoot;
    } // end of CreateSceneGraph method of HelloJava3Da

    } // end of class HelloJava3Da