Asteroiden modellieren?

Status
Nicht offen für weitere Antworten.

Creativ

Aktives Mitglied
Hi,
Habe schon wieder ein Problem.
Und zwar wollte ich jetzt einen Asteroiden in Java3D modellieren.

Jedoch fehlt mir dabei ein Ansatz wie ich da am besten rangehe.

Ich könnte das ja einmal mit einen 3D-Programm modellieren und dann mit einen Loader laden. Aber die loader die ich ausprobiert hatten haben alle nicht ganz so funktioniert wie ich wollte.

Und ich würde es gerne zum üben in Java3D erstellen, nur dazu fehlt mir wie gesagt irgendwie der Ansatz.

Wie kriege ich z.B. erstmal eine Kugel hin?
Also was soll ich dazu benutzen? IndexedQuadArray? Aber damit wäre es ja auch sehr umständlich so viele Quadrate zu erstellen damit es am Ende aussieht wie eine Kugel.


Also wie würdet ihr zum Beispiel eine Kugel mit Java erstellen?
Oder am Besten gleich einen Asteroiden, also eine Kugel/Ei mit paar Ausbeulungen/Dellen?

Ich hoffe ihr könnt mir dabei helfen :D

Gruß,
Dennis
 

Creativ

Aktives Mitglied
Das ich mit Sphere() eine Kugel hinkriege ist mir schon klar ;)
Nur wie kann ich in diese dann z.B. noch Beulen oder Ausbeulungen einbauen?
Weil so ein komplett runder Asteroid sieht ja nicht wirklich echt aus :D

Gruß,
Dennis
 

Marco13

Top Contributor
Hier
http://glprogramming.com/red/chapter02.html
steht ganz am Ende der code, wie man die Geometrie von einer Kugel basteln kann. (In "drawTriangle" würdest du dann eben die Koordinaten und Indices in eine ArrayList oder so packen, oder gleich in einen Indexed*Array).

Wenn du erstmal alle Vertices hast, kannst du die "zufällig" verschieben: Für jeden Vertex v berechnest du
d = v - mittelpunkt
v += random * d
wobei "random" eben z.B. zwischen 0 und 0.1 liegt. Könnte dann ziemlich "chaotisch" aussehen, aber wenn man einen "runder" verbeuten Asteroriden modellieren will, ist das auch nicht viel aufwändiger. Im Zweifelsfall nach dem "random"-Zeuch einfach noch ein bißchen "smoothen"
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben