3d-Brillen

Dromlius

Neues Mitglied
Hallo Java-Forum.
Ich programmiere gerade einen Vogelschwarm-Simulator für mein Abi, bei dem ich Vögel(Kugeln/Kreise) 3D bewege. Zur Zeit gebe ich die aber nur via AWT aus, d.h. die hinteren sind kleiner und dunkler. Da ich damit bei meinem Abi nen Eindruck hinterlassen will, achte ich mir, ich mach das ganze 3D und zwar mit 3D-Brille :cool: .
Die Fragen sind bloß:
1.: Ich habe von verschiedenen 3D-Brillen-Methoden gehört z.B.: Anaglyph, Polfilter, Hertzbrillen welche davon sind Java kompatibel? Ich weiß, dass Anaglyph geht, aber andere währen mir lieber, da man mit Anaglyph nicht so einen großen Effekt erzielen kann. Oder?
2.: Ich kenne mich leider nicht mit Java3D aus! Ich könnte es anlernen, aber gibt es vielleicht ne einfache Formel oder so, mit der ich einfach schon im AWT Anaglyph, ect erzeugen kann, von Hand sozusagen?

Vielen Dank für Antworten!
Dromlius
 

Tobse

Top Contributor
Das mit dem Hertz-Brillen wird glau schwer, weil, soweit ich weis, die ja vom PC per funk die bildwiederholungsrate bekommen und abwechselnd das linke bzw. rechte auge "zumachen".
Mit der Anagylph-Formel kommts auf die Entfernung zum Bildschrim und die augen-größe an.
3d.jpg
Ich würde das dann so änlich machen:
Java:
while ( RENDER_SCHLEIFE ) {
    Image img=camrea.captureImage();
    faerbe_bild_blau(img);
    renderImage(img);
    camera.setAngle(camrea.getAngle()-15);
    Image img=camrea.captureImage();
    faerbe_bild_rosa(img);
    renderImage(img);
    camera.setAngle(camrea.getAngle()+15);
}
// Die Methoden und Klassennamen sind frei gewählt, von Java 3D hab ich auch wenig ahnung, nur von 3d generell
Mit dem Winkel (hier die 15) musst du dann aber ein wenig rumspielen.

P.S.: Wenn ich das 3D-Thema mit den Brillen richtig aufgefasst habe, hilft der beitrag jetzt. Andenfalls ist das ein totaler fail... :)
 

Dromlius

Neues Mitglied
Hi Tobse.
Danke für die schnelle Antwort!
An sich ist es schon einmal gut zu wissen, dass ich mich auf Anaglyph beschränken muss und wie ich prinzipiell die Methode aufbauen muss. Leider ist das mit dem
Java:
camera.setAngle(camrea.getAngle()-15);
nicht so einfach! Du musst dir vorstellen, mein Vogelschwarm ist alles in allem folgendes:
Java:
ArrayList<Point3D> schwarm;
mit
Java:
public class Point3D{
   private double x;
   private double y;
   Private double z;
//getter und setter...
}
Ich wüsste so aus dem Stegreif nicht, wie ich die Rotieren lassen sollte! Ausserdem glaub ich, muss ich dem Ganzen irgendwie noch 'ne Fluchtpunktperspektive anhängen, wenn ich Kunst richtig aufgepasst habe :bahnhof:... . Trotzdem vielen Dank nochmal für die Antwort. Hoffentlich kannst du oder ein anderer mir bei den oben genannten Problemen weiterhelfen!
Vielen Dank für Antworten!
Dromlius
 

Tobse

Top Contributor
Ich wüsste so aus dem Stegreif nicht, wie ich die Rotieren lassen sollte!
Das wird eher schwer. Java3D muss da glaub sein, denn mit der Kamera geht das am einfachsten.
Zur Fluchtpunkt-Perspektive:
Ich weiss, nicht, ob das nötig ist, sorry. Aber die entsteht glaub automatisch mit dem verscheiebn der kamera.
 

Neue Themen


Oben