Triangle Strips
Triangle Strips
Triangle Strips
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Satz 4.5 Eine Buffergröße von 1.649 √ n ist notwendig für ein optimales Rendering<br />
im schlechtesten Fall.<br />
5 Algorithmen<br />
5.1 SGI<br />
Dieser Algorithmus wurde im Jahr 1990 von Kurt Akeley, Paul Haeberli<br />
und Derrick Burns veröffentlicht. Er war zu finden auf der ” SGI Developer’s<br />
Toolbox CD“, in Form eines C Programmes, und ist daher auch unter dem<br />
Namen tomesh oder tomesh.c bekannt.<br />
Entwickelt wurde der Algorithmus für die Graphics Library (GL) von SGI,<br />
welche auch Swaps unterstützt. Daher versucht der Algorithmus gar nicht<br />
erst Swaps zu verhindern. Er funktioniert nur für vollständig triangulierte<br />
Modelle, das bedeutet wenn Polygone mit mehr als 3 Ecken in dem Modell<br />
enthalten sind, dann müssen diese Polygone zuerst in Dreiecke zerlegt werden<br />
bevor der Algorithmus darauf angewandt werden kann. Der Algorithmus<br />
funktioniert nach dem Greedy Prinzip, das heißt er geht bei jedem Schritt<br />
zum nächst besten Dreieck, aus lokaler Sicht von der aktuellen Position aus<br />
gesehen. Gibt es mehrere gleich gute Dreiecke, dann geht er weiter zu den<br />
Nachbarn dieser Dreiecke und bewertet diese. Ist die Entscheidung dann immer<br />
noch nicht eindeutig, wird unter allen möglichen Dreiecken eines zufällig<br />
ausgewählt.<br />
Das Ziel des Algorithmus bei der Generierung eines <strong>Strips</strong> ist es, die verbleibende<br />
Triangulation nicht in zu viele kleine Teilbereiche zu trennen, da<br />
dadurch die Wahrscheinlichkeit, dass weitere <strong>Strips</strong> eher kurz sein werden,<br />
oder sogar Singleton <strong>Strips</strong> entstehen, erhöht würde.<br />
Algorithmus [9, Vaněček]:<br />
1. Wenn keine Dreiecke in der Triangulation übrig sind, beende.<br />
2. Wähle ein Startdreieck T mit der geringsten Anzahl an Nachbarn.<br />
3. Starte einen neuen Strip.<br />
4. Füge das Dreieck T zum Strip hinzu und entferne es aus der Triangulation.<br />
15