Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

1

31.12.2005, 14:12

BoundingSphere Mittelpunkt?

Hallo!

Wenn ich ein Modell aus einer 3ds Datei erstelle (mit meinem Konverter) muss ich ja auch die BoundingSphere bestimmen... Nur welchen Mittelpunkt verwende ich dafür? Hab mir den Konverter der TriBase mal angeschaut, doch mir kommts so vor als würde selbiger nur den Koordinatenursprung also (0.0f, 0.0f, 0.0f) verwenden, was meiner Meinung nach nicht gerade sehr geschickt ist! Ist das die einzige Möglichkeit den Mittelpunkt zu bekommen? Oder ist da der sg Pivot Point besser? Wo wir schon dabei sind... Was ist dieser eigentlich?
Hab mir auch mal überlegt man konnte doch alle Vertize zusammenzählen und den Mittelwert bilden, das müsste dann eigentlich den Mittelpunkt des Objekts geben!
Noch eine weitere Frage: Die TriBase berechnet eine BoundingBox und eine BoundingSphere für das gesamte Modell... Wäre es nicht besser man würde für jedes einzelne Objekt des Modells diese berechnen? Müsste doch eine weitaus genauere Kollisionserkennung ohne fortgeschrittenere Techniken abgeben!?
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

CW_Kovok

Alter Hase

Beiträge: 836

Wohnort: nähe Bonn

Beruf: Schüler

  • Private Nachricht senden

2

31.12.2005, 14:16

Du kannst sehr gut auch einfach durch das Modell gehen, die maximaleausdehnung bestimmen und den Mittelpunkt deines Boundingsphereradiuses dazwischen legen. Klappt ganz gut.
Und zu deiner erwähnten Optimierung, genau so kann man es machen, z. Bsp. mit Bsptrees, da wird das Modell immer wieder zerlegt und an jedem leaf eine eigene Boundingsphere bestimmt.
Was es alles gibt, das ich nich brauche - Aristoteles

Anonymous

unregistriert

3

31.12.2005, 14:16

Frage: Ich zeichne Dir einen Kreis auf ein Blatt Papier ;) Wie errechnest Du da den Mittelpunkt? ;) Komm ist ganz einfach ;)

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

4

31.12.2005, 16:20

Wenn ich den Kreis SEHE ist es kein Problem... mein Code SIEHT das Modell aber leider nicht, und ist auch nicht so intelligent wie ein Mensch...
;-)

Wieder zum Thema: Ich bestimme ja mit jedem Vertex den ich lese den Abstand zum Mittelpunkt... Demnach weiß ich nicht vorher wie das Modell ausschaut, was bedeutet, dass ich den Mittelpunkt nicht kenne... Und den Mittelwert aller Vertize zu berechnen erscheit mir etwas rechenaufwändig...

@Kovok
Wie meinst du das mit der Maximalen und minimalen Ausdehnung?
Meinst du da die BoundingBox??
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

CW_Kovok

Alter Hase

Beiträge: 836

Wohnort: nähe Bonn

Beruf: Schüler

  • Private Nachricht senden

5

31.12.2005, 16:37

ein bischen so... Du speicherst einfach nur die maximalste ausdehnung zwischen 2 beliebigen Verticises, also vergleichst die verticises so lange untereinander, bis du den größten abstand gefunden hast, davon dann die mitte. Ist quälend langsam, daher habe ich dass bei mir direkt in meine modell dateien gepackt
Was es alles gibt, das ich nich brauche - Aristoteles

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

6

31.12.2005, 16:58

Kann man wohl sagen dass das LANGSAM ist... Wenn ich jeden mit jeden Vergleiche habe ich bei 15000 Vertize (eines meiner mittleren Modelle hat so viel) 15000! (=Fakultät) Möglichkeiten, um den Abstand zu messen!!

Das bedeutet: 15000! = 2,7465990334851682664825581502627e+56129

Was bei ca. 1.500.000 Rechnungen pro Sekunde
5,8062722676415699866450155383533e+56115 Jahre dauert!! Das ist viiiiiiiiel länger als das Universum existiert!!!

Also danke, aber NEIN danke! ;)
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

CW_Kovok

Alter Hase

Beiträge: 836

Wohnort: nähe Bonn

Beruf: Schüler

  • Private Nachricht senden

7

31.12.2005, 17:08

sry dumm nich niachgedsacht :rolleyes:

du musst nur durch deine punkte scrollen und den größten x, y oder z wert festhalten, einfach nur den größten und selbiges mitdem kleinsten, dann kennst dui deine ausdehnungen und kannst davon die mitte bestimmen, macht bei 15000 vertices nur 3*14999 vergleiche, kA wo ich mit meinen gedanken war
Was es alles gibt, das ich nich brauche - Aristoteles

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

8

31.12.2005, 17:11

Kein Problem^^

Danke... Wer ich gleich mal probiern... :D
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Werbeanzeige