Das ist noch die einfache Frage, aber das Problem hier ist komplizierter, vielleicht hat ja doch jemand eine Idee.
Was sind die Eingangsdaten meiner Software? Es sind 3D Bilder von einer speziellen Kamera. Es gibt 64x16 Pixel, jeder Pixel hat einen z-Wert. Ich möchte innerhalb meiner Software und zur Laufzeit daraus ein Mesh bilden, aber ich filtere mehrere Objekte aus dem Bild heraus, so dass ich am Ende mehrere Objekte habe. Jedes Objekt soll die Vertices und Faces speichern.
Und da liegt nun das Problem. In welcher Reihenfolge müssen die Vertices darein, damit es später ohne Probleme gezeichnet werden kann? Oben links im Bild kann ich nicht anfangen zu suchen, wenn grosse Lücken im Objekt sind, versucht er später diese Lücken zu schliessen, weil das Dreieck nicht komplett ist und er sich den nächsten freien Vertex aussucht.
Ich hoffe, das Problem ist irgendwie klar geworden. Zur Zeit sehe ich keine Idee, wie ich alle Objekte sauber in der richtigen Reihenfolge zeichnen kann. Ich meine, statische Normale Objekte fangen ja auch irgendwo mit einem Face-Index 0 an und hangeln sich durch ein kompliziertes Objekt zum letzten Face.
Beispiel: Wie macht man das bei einer 3D Person? Fängt man unten bei den Beinen an, arbeitet sich hoch und wo und wie entscheidet man dann, welcher Arm zuerst abgehandelt wird? Da muss es doch Algorithmen für geben oder? Andere Software, die Objekte in Vertex- und Facelisten unterteilt, kann das ja auch.
die kamera ist ein 3d scanner ? ich habs sowas mal an der fachhochschule gesehen, da wurde ein gitter projeziert und einzelne punkte von allen seiten entnommen, ich denke mal bei dir ist das das gleiche nur von einer seite oder ?
das programm hat zuerst eine punktwolke erstellt und diese dann zu polygonen weiterverarbeitet. wie du jetzt objekte von einander separieren kannst, weiß ich auch net Oo bin in sachen 3d net so erfahren, hört sich auf jedenfall interessant an, vielleicht kannst ja mal n screen posten wenns was zu sehen gibt ^^
Nein, kein 3D Scanner, sondern eine PMD-Kamera. Liefert ein 2D Bild mit z-Werten. Die Objektseparierung ist schon fertig, ich muss nur noch sehen, wie ich eine Menge an Punkten pro Objekt in eine sinnvolle Reihenfolge bekomme.
du machst dir ein raster und nimmst zb jeden 10. punkt und kannst dann die dazwischen liegenden interpolieren oder direkt polygone aufspannen, da gabs irgendwo nen algo zu ....
Ich brauche Faces für die Normalenberechnung. Ein Mesh (aber nur eines, wenn ich alles als ein Objekt ansehe) kann ich ja zeichnen, aber ich muss eine Lichtquelle haben, um die Tiefe sehen zu können (einfarbiges Mesh), und dazu muss ich Normalen berechnen, und dazu muss ich Faces haben. Das Problem ist wie gesagt nur, wenn ich versuche, mehrere Objekte aus den 1024 Punkten zu erstellen. Ich verteile quasi 1024 Punkte auf 2 oder 3 Objekte, bloss in welcher Reihenfolge, das ist die Frage...
Ich teile die z-Achse in Blöcke auf, ist variable und kann während der Laufzeit verfeinert werden. Wenn in einem Block eine bestimmte Anzahl Pixel enthalten sind, ist das ein Anzeichen für ein Objekt. Funktioniert aber nur mit Objekten, deren Oberfläche senkrecht zur Blickrichtung stehen. Na mal sehen, was ich nun mache. Ist nur eine 4-monatige Diplomarbeit und in 20 Tagen will ich abgeben und muss noch das Dok schreiben. Wahrscheinlich belasse ich die Objekttrennung bei der Würfelansicht (jeder Pixel ist ein Würfel im 3D-Raum) und mache in der Meshansicht EIN Objekt draus. Die Zeit fehlt einfach und gefordert war diese Funktion ohnehin nicht.
Die Punkte liegen in form eines Raster vor, lege erst einmal ein normales Trianglemesh düber. Die Normalen lasen sich auch mit hilfe der nachbarpunke berechnen.
Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.