Dreidimensionale Objekte Programmieren

Marco7757

Mitglied
Im Rahmen einer Semesterarbeit würde ich gerne unterschiedeliche Dinge vom Computer berechnen lassen (kein Problem), sowie diese danach Visualisieren.
Hier liegt mein grosses Problem.

Ich habe mich schon durch so einige Seiten der Grafikprogrammierung durchgearbeitet. Jedoch erscheint es mir abartig kompliziert.

Ich wollte euch fragen, wie ich am besten vorgehen sollte.

1. Welche Sprache empfehlt ihr? C++ (ist seeehr kompliziert was Grafiken angeht, habe ich das Gefühl) oder etwa Java (wäre etwas einfacher meiner Meinung nach) oder doch etwas ganz anderes?
2. Ich würde die Grafik so programmieren, dass ich ein (unsichtbares) dreidimensionales Koordinatensystem (x, y, z) erstelle, wobei ich je drei Punkte (die Dreiecke, die für die Grafiken benutzt werden) berechnen und dann anzeigen werde. Jedem Dreieck kann ich eine Farbe zuweisen. Viele dieser Dreiecke sollen dann meine Figur ergeben. Ist das sinnvoll oder gibt es (natürlich gibt es die ^^) bessere Methoden dies zu tun?
3. Inwiefern kann ich DirectX oder OpenGL oder andere Grafik-Librarys (oder wie die halt heissen) für meine Zwecke nutzen?
 

sheel

I love Asm
Hi

1: Ja, C++. So kompliziert ist es schon nicht, man muss ja nicht alles neu erfinden. DirectX oder OpenGL, dann passt das schon.

2: Ja, das ist sinnvoll. Zumindest bei DirectX musst du sogar alles in Dreiecke zerlegen, weils sonst nicht zum Zeichnen geht
Nennt sich Triangulation, gibt verschiedene Verfahren, da findet man schon was...

3: Ohne eins von beiden brauchst du gar nicht anfangen. Wenn du das nachbauen willst, dann erst wirds wirklich kompliziert, egal welche Sprache.
Was von den beiden man nimmt, ist Geschmackssache.
Man muss nur wissen, das DirectX nur unter Windows läuft.

Zum OpenGL lernen: http://nehe.gamedev.net/ links unter OpenGL Tutorials

Gruß
 
Hallo,

du musst nicht unbedingt das Rad neu erfinden. Visualisierungstools gibt es schon zuhauf. Wenn deine Anforderungen nicht zu speziell sind, musst du nicht unbedingt selbst was programmieren.

Beispiele: MeshLab, ParaView, VisIt

Zu 2.: Kommt ganz darauf an, welche Daten du visualisieren willst. Unstrukturierte Dreiecksgitter können sinnvoll sein, für manche Zwecke (Volumendaten wie Skalar- oder Vektorfelder) sind z.B. Tetraedergitter oder ein kartesisches Gitter („3D-Textur”) praktischer. Ist aber wie gesagt abhängig davon, welche „unterschiedliche Dinge“ du darstellen willst.

Grüße,
Matthias
 

chmee

verstaubtes inventar
Premium-User
Es gibt ja noch zuhauf andere Möglichkeiten: Blitzbasic mit einfachsten Befehlen zur grafischen Ausgabe, vvvv mit der Anbindung an c#, mit dem richtigen Browser auch WebGL mittels canvas.. Entscheiden würde ich sicherlich auch aufgrund der Kombination aus Lernkurve, Aufwand & Datenbasis..

mfg chmee