Initialisierung der Half-Edge-Datenstruktur aus Vertices

Arbeite ich an der Umsetzung der verschiedenen subdivision-algorithmen (wie z.B. catmull-clark); um dies zu tun, effizient, erfordert eine gute Möglichkeit zum speichern von Informationen über ein raster von tesselated Polygone. Implementiert habe ich die half-edge-Datenstruktur als beschrieben von flipcodeaber ich bin mir jetzt nicht sicher, wie Sie Sie zu füllen Sie die Daten-Struktur von Eckpunkten!

Mein Erster Versuch war

  • erstellen Eckpunkte
  • Gruppe von vertices zu faces
  • Art Scheitelpunkte innerhalb von Flächen (mit Ihren Winkel relativ zum Schwerpunkt)
  • für jedes Gesicht, schnappen Sie sich den ersten Eckpunkt und dann zu Fuß durch die sortierten vertex-Liste, um eine half-edge-Liste.

Jedoch, dieses erstellt eine Liste der Gesichter (mit halb-Kanten), denen keine information über die angrenzenden Flächen! Dieser fühlt sich auch ein bisschen falsch, denn es scheint, als ob die Gesichter sind wirklich das erste-Klasse-Objekt und die Kanten stellen zusätzliche Informationen; ich glaube wirklich, wie ich sollte, um Kanten von vertices und Sortieren dann aus den Flächen von dort aus. Aber nochmal, ich bin nicht wirklich sicher, wie man es so -- ich kann nicht denken, ein Weg, um erstellen Sie eine Liste der halb-Kanten, ohne dass die Flächen zuerst.

Anregungen für das, was der beste Weg zu gehen, drehen von Daten über die Knoten (und Flächen) in halb-Kanten?

InformationsquelleAutor der Frage nathan lachenmyer | 2013-03-12

Schreibe einen Kommentar