Welche Point3D den nun?

FreakyM

Mitglied
Hallo Zusammen,

ich arbeite momentan an einem Programm, welches 3DGeometrien bearbeiten kann/soll.

Ich habe mir dafür eine eigene Punkt3D-Klasse und Vektor3D-Klasse geschrieben etc.
Doch mittlerweile überlege ich mir ob das den so sinnvoll war!
Den es gibt Java3D, JMonkey etc. etc. welche schon viel können.
Und man sagt ja man soll nicht das Rad neu erfinden...

Doch was benutze ich am besten bzw. warum nicht die eigenen Klassen verwenden?
Sind den Java3D und JMonkey nicht eher für Spiele und nicht für mein Programm, welches eher ein kleines CAD-Tool wird?
Punkt3D hat hier z.b noch Farb- und Größeninformationen, welche ich nicht brauche...


Das ist doch allgemein ein bisschen doof, es gibt viele Dinge für Java3D und viele für JMonkey und immer muss man die Point3D-Klassen etc. umwandeln damit man die jeweiligen Methoden verwenden kann und es für neue Dinge offen bleibt. Das ist doch irgendwie dumm oder seh ich hier etwas falsch?

Wie macht ihr das?
Eigene Klassen oder API verwenden?
Und wenn ihr eine API verwendet, wandelt ihr dann immer z.B. die Punkt3D-Klasse um (macht man das so?) oder implementiert ihr dann einfach die jeweilige Methode auch noch selbst (was ja auch irgendwo nicht Sinn der Sache ist).

Gruß
Dennis
 
Also wenn du ein richtiges CAD-Tool baust, solltest du auf jeden Fall auf eine Engine zurückgreifen. JMonkeyEngine bietet auch Shader und Effekte, die brauchst du wohl nicht. Allerdings wird es wohl schwierig werden, solche Sachen wie Kameraposition und -perspektive, Lichtquellen, Support für die verschiedenen Dateitypen, einfache Texturen (Farben), Raytracing (um zu bestimmen, wohin die Maus deutet), … selbst zu implementieren. Diese Engines sind zwar generell auf Spielentwicklung fokussiert, können aber auch für andere 3D-Anwendungen benutzt werden.
 
Ich habe es eventuell auch etwas falsch beschrieben...sorry!

Ich habe 3D-Daten, welche ich aber 2D visualisiere...
Mir ging es nur darum, das meine "DataHolder"-Klassen welche die 3D-Daten speichern (aus einer Datei eingelesen) meine selbst gebaute 3D-Point Klasse verwendet.
Doch solch eine Klasse und etliche mehr gibt es ja schon...

Soll ich nun die 3D-Point etc. von z.B. Java3D, JMonkey verwenden...oder meien eigene Point3D-Klasse?
JMonkey etc. sind eben keine reinen "DataHolder"-Klassen sondern beinhalteten noch Farbinfos etc.
Klar, aus der Sicht von Java3D etc. sind sie das ja auch weil diese eben gezeichnet werden. Aus meiner Sicht aber eben nicht.

Oder ist das egal, den wenn ich irgendwann mal etwas von einer anderen API benötige welche ein anderes Point3D-Klasse besitzt, wandel ich meine einfach um? Kann nur sein das ich dann in einer Schleife oder ähnlichem sehr viele eigene Point3D-Objekte umwandeln muss in Point3D-Objekte der API...

Hoffe es wurde ein Tick verständlicher :P
 
Zuletzt bearbeitet:
Zurück