3D Raum zeichnen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo, ich wollte mit java 3d einen Raum zeichnen. Ich sollte auch die Funktionalität von "auswählen" realisieren. D.h., wenn ich meine Mauspfeil auf irgend eine Position von "Boden" lege, wollte ich den Wert dieser Position wissen. Wenn ich den ganzen Boden als ein Shape3D definieren würde, wäre es unmöglich, mir die exakte Position mitzuteilen. Dann habe ich den Boden in kleinere Stückchen zerlegt, jedes Stückchen ist ein Sahpe3D-Objekt. Beim Platzieren wird die Position von allen solchen Stückchen gespeichert. Dann weiss ich auf welches Stückchen ich die Mauspfeil gelegt habe, und auch die Position davon. Aber das Problem ist, dass diese Methode zu viel Speicherplatz verbraucht. Z.B, für einen Raum "15m x15m" muss ich 900 solche Stückchen erzeugen, je von der Grösse "0.5mx0.5m" ist. Hat jemand eine bessere Lösung für das Problem?
 

DarkLoG

Mitglied
Wieso musst du denn so exakt wissen wo die Maus sich aufhält, ich meine du kannst den Raum ja auch nur in 90 Stücke unterteilen - rein theoretisch meine ich jetzt??Und was soll dann passieren wenn die Maus über einem Teil ist?

Gruß

DarkLoG
 
G

Gast

Gast
Danke für deine Antwort. Die Idee ist, dass man nachher auch Möbel in den Raum stellen kann, z.B. Stehlampe. Man kann mit Maus Möbelstücke platzieren. Deshalb muss ich wissen, wo die Mauspfeil sich befindet, in dem 3D Raum, dann kann ich berechnen, ob das Möbelstück dort gelegt werden darf. Wenn ja, dann sollte ich dort ein Möbelstück hinlegen. Das ist die Idee. Ich habe einen Raum von der Grösse "40mX40m" probiert, aber es scheitert direkt bei der Ausführung, weil dafür zu viel Speicherplatz erforderlich ist.
 

DarkLoG

Mitglied
Ah ok dachte mir schon sowas ähnliches, daher würde ich es so lösen dass die neuen Gegenstände einfach frei platziert werden können über buttons oder tasteneingabe, mit Maus wüsst ich jetzt nicht wie es lösen würde. Also nach dem Motto der Stuhl taucht in der Mitte des Raumes auf, und kann mit den Buttons links,rechts,drehen links, drehen rechts in die gewünschte Position gebracht werden...

Gruß

DarkLoG

Ps: Mach grad ein Brettspiel in Java3D das aus fast 200 einzelnen Feldern besteht die alle ne 128er Textur haben und bis dato gibts keine Speicherprobleme...
 

EgonOlsen

Bekanntes Mitglied
Ich kenne Java3D jetzt nicht so genau, aber gibt es denn da keine Möglichkeit, einen Strahl in die Szene zu schiessen und seine Länge bis zum nächsten Hindernis sowie der Hindernis selber zu bekommen? Wenn das Hindernis der Boden wäre, dann müsste man, das da was zu platzieren ist und die Position ergibt sich über den normierten Richtungsvektor des Strahls*Länge bis zum Hindernis. Nur eine Idee, wie ich das machen würde. Ich weiß wie gesagt nicht, ob oder wie das in Java3D geht.
 

kaie

Bekanntes Mitglied
Versuch's mal hiermit:
Code:
public Point3d sucheNächstenPunkt( Canvas3D canvas, BranchGroup scene, MouseEvent mouseEvent )
{
  PickCanvas pickCanvas = new PickCanvas(canvas, scene);
  pickCanvas.setMode(PickTool.GEOMETRY_INTERSECT_INFO); 
  pickCanvas.setTolerance(4.0f);
  pickCanvas.setShapeLocation(mouseEvent);
  PickResult result = pickCanvas.pickClosest();
  PickIntersection intersection = result.getIntersection(0);
  Point3d point = intersection.getPointCoordinates();
  return point;
}
Vorher müssen natürlich die entsprechenden Pick-Capabilities gesetzt sein.
 

licht400

Bekanntes Mitglied
Hi.
Ich habe einen Würfel auf meinen Canvas erzeugt.
Wie bekomme ich den die Position des Würfel im Koordinatensystem?

Ich möchte, wenn ich mein Objekt anklicke, das mir ausgegeben wird, wo dieser Würfel liegt.

Ich habe es swoeit, das ich das Objekt anklicken kann, aber wie bekomme ich die Position?

Code:
public void mouseClicked(MouseEvent mousee){
 Node PickedObject;
 PickCanvas MyPick=new PickCanvas(canvas,root);
 PickResult[] MyPickResult;
 int resCtr=0;

 MyPick.setTolerance(0f);
 MyPick.setMode(PickTool.GEOMETRY);
 MyPick.setShapeLocation(mousee);
 MyPickResult=MyPick.pickAllSorted();
 if (MyPickResult==null)
 {
 System.out.println("nichts");
 return;
 }
 while (resCtr<MyPickResult.length)
 {
 PickedObject=MyPickResult[resCtr].getObject();
 System.out.println(PickedObject);
 resCtr++;
 }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
TheSorm Kollisionsreaktion 2er Kugeln im 2D Raum Spiele- und Multimedia-Programmierung 4
C Würfel erstellen und als Raum nutzen Spiele- und Multimedia-Programmierung 6
D [JOGL] Freibewegliche Lichtquelle im Raum Spiele- und Multimedia-Programmierung 4
T Grundlagenwissen für den 3D Raum Spiele- und Multimedia-Programmierung 6
L Lwjgl Darstellung eines Kreises im Raum Spiele- und Multimedia-Programmierung 3
A Java 3D Raum Spiele- und Multimedia-Programmierung 3
S Wegberechnung im 2D-Raum Spiele- und Multimedia-Programmierung 6
A Bild im Raum darstellen (Texture2D) Spiele- und Multimedia-Programmierung 4
K Position im Raum bestimmen Spiele- und Multimedia-Programmierung 11
D Positionen im 3D Raum Spiele- und Multimedia-Programmierung 23
L Punkt im 3D-Raum Spiele- und Multimedia-Programmierung 2
E relevanter bereich einer isometrischen karte zeichnen (AffineTransform) Spiele- und Multimedia-Programmierung 0
SaftigMelo Kreissegment zeichnen Spiele- und Multimedia-Programmierung 2
E Buttons neu zeichnen im GridLayout Spiele- und Multimedia-Programmierung 2
A Zeichnen außerhalb der paint-Methode Spiele- und Multimedia-Programmierung 6
E Isometrische Tiles mit unterschiedlicher Größe an korrekter Position zeichnen Spiele- und Multimedia-Programmierung 1
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
J Int Wert auf JFrame zeichnen Spiele- und Multimedia-Programmierung 3
H [ANIMATION] Hintergrundbild nur einmal zeichnen Spiele- und Multimedia-Programmierung 3
R [lwjgl] Cursor -> versetzt Zeichnen / Bild ist umgedreht Spiele- und Multimedia-Programmierung 2
M Methoden eine Map zu zeichnen Spiele- und Multimedia-Programmierung 5
aze Nicht rechteckiges Bild zeichnen Spiele- und Multimedia-Programmierung 5
F nur Ausschnitt eines Image zeichnen Spiele- und Multimedia-Programmierung 9
T 3D Graphen Zeichnen Spiele- und Multimedia-Programmierung 19
F Kurven zeichnen Spiele- und Multimedia-Programmierung 2
E Keine Werte zum Zeichnen werden Übergeben Spiele- und Multimedia-Programmierung 3
A Halbkreise zeichnen lassen? Spiele- und Multimedia-Programmierung 2
F Lineal mit Zahlen zeichnen Spiele- und Multimedia-Programmierung 7
N Linie mit Rand zeichnen Spiele- und Multimedia-Programmierung 10
A Mehrere geometrische Objekte in JPanel zeichnen Spiele- und Multimedia-Programmierung 4
A Optimiertes Zeichnen - wie? Spiele- und Multimedia-Programmierung 8
data89 Koordinaten in Koordinatensystem zeichnen Spiele- und Multimedia-Programmierung 11
M Binärbaum ohne Überlappung zeichnen Spiele- und Multimedia-Programmierung 3
H Decke zeichnen mit Hilfe eines Polygons Spiele- und Multimedia-Programmierung 2
B 1)JButtons zeichnen 2)Kolisionsabfrage von zwei Objekten Spiele- und Multimedia-Programmierung 9
G Linie im Applet zeichnen Spiele- und Multimedia-Programmierung 5
G Schüsse zeichnen, Fehler? Spiele- und Multimedia-Programmierung 3
S Dreieck zeichnen Spiele- und Multimedia-Programmierung 9
G Überlagern von Strings beim zeichnen verhindern Spiele- und Multimedia-Programmierung 3
C Objekt bei Buttonklick zeichnen Spiele- und Multimedia-Programmierung 16
G Geschwungene Klammer zeichnen Spiele- und Multimedia-Programmierung 5
F Neu zeichnen verhindern Spiele- und Multimedia-Programmierung 25
J Zeichnen in BufferedImage und dieses in Datei speichern Spiele- und Multimedia-Programmierung 2
O Funktion zeichnen Spiele- und Multimedia-Programmierung 11
A Lissajous Figuren zeichnen Spiele- und Multimedia-Programmierung 1
G Maus springt --> Free-Hand-Zeichnen Spiele- und Multimedia-Programmierung 2
L Schüsse zeichnen Spiele- und Multimedia-Programmierung 13
M Eigene Strings zeichnen Spiele- und Multimedia-Programmierung 4
T Blitz berechnen und zeichnen Spiele- und Multimedia-Programmierung 13
M auswahlkreis zeichnen (schräg) Spiele- und Multimedia-Programmierung 4
N Logik: Grenz-/Frontlinie zeichnen Spiele- und Multimedia-Programmierung 4
M Grafikprogramm, zeichnen mit Maus Spiele- und Multimedia-Programmierung 7
G Problem beim Zeichnen von LineArrays Spiele- und Multimedia-Programmierung 9
P linie in bild zeichnen Spiele- und Multimedia-Programmierung 2
G Auf 3D Box zeichnen Spiele- und Multimedia-Programmierung 4
K mit Canvas übereinander zeichnen Spiele- und Multimedia-Programmierung 4
H Kreis zeichnen mittels Schleife & drawLine Spiele- und Multimedia-Programmierung 4
B Probleme beim zeichnen Spiele- und Multimedia-Programmierung 15
N Bild zu zeichnen (drawImage) klappt nur manchmal?? Spiele- und Multimedia-Programmierung 8
T Effizient zeichnen Spiele- und Multimedia-Programmierung 12
H mit Java2D Markierung über JTable zeichnen und diese bewegen Spiele- und Multimedia-Programmierung 2
C Graphische Benutzerschnittstelle, Problem beim Zeichnen Spiele- und Multimedia-Programmierung 4
J schnellste alternative um in java zu "zeichnen" Spiele- und Multimedia-Programmierung 17
conan2 Objekte in richtiger Z-Reihenfolge zeichnen Spiele- und Multimedia-Programmierung 2
G Punkte in Java3D zeichnen Spiele- und Multimedia-Programmierung 2
S Pixel zeichnen Spiele- und Multimedia-Programmierung 3
S Bild in Speicherbild zeichnen = Nichts? Spiele- und Multimedia-Programmierung 3
G Farbig zeichnen ohne java.awt.Color? Spiele- und Multimedia-Programmierung 5
S Wie kann ich das Zeichnen der Grafik feiner machen? Spiele- und Multimedia-Programmierung 9
M Wie kann man Kreisringe zeichnen ? Spiele- und Multimedia-Programmierung 12
C Graphics 2D Zeichnen Spiele- und Multimedia-Programmierung 4
R Kreuz lässt sich nicht zeichnen Spiele- und Multimedia-Programmierung 11
F einzelne Polygone(Graphics) schneller als and. Fig. zeichnen Spiele- und Multimedia-Programmierung 3
K Kugeln und Zylinder zeichnen Spiele- und Multimedia-Programmierung 4
L ein Rechteck zeichnen Spiele- und Multimedia-Programmierung 6

Ähnliche Java Themen

Neue Themen


Oben