Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ws1920:tag_03

Dritter Tag

20.03.2020

<< | Home | Code

[11:35 Uhr] Heute wird die Analyse der Zellen vorangetrieben und versucht, Scutoids farblich zu markieren. Die Idee hierfür ist, ein Scutoid insofern zu klassifizieren:

  • Die Mesh muss watertight sein, um überhaupt als Volumen zu gelten
  • Zwei Deckflächen, die mit allen anderen Seiten verbunden sind, außer der „Scutellum“-Dreiecksseite

Viel mehr gibt es heute nicht zu sagen…

[16:00 Uhr] Leider funktioniert die automatische Analyse noch nicht (es werden bei einfügen des entsprechenden Kriteriums keine Zellen mehr dargestellt), dafür funktioniert die Klassifizierung eines Meshes als watertight einwandfrei. Dies Funktion iteriert über alle Flächen des Volumens und testet, ob jeder Kante an genau zwei Seiten anschließt. Dann handelt es sich um ein (in unserem Falle) watertightes Mesh. Dies funktioniert natürlich nur, weil wir ausschließlich Oberflächen-Meshes verwenden, die sich keine Eigen-Intersections beinhalten und auch keine Flächen im Inneren aufweisen.

[Nachtrag] Problem wurde gelöst, schau hier im Post Mortem nach

def watertightTest(faces):
    #   wenn jede Edge mindestens zu genau zwei Flächen zugeordnet ist, ist eine Mesh watertight (in diesem Fall)
 
    for face in faces:
 
        for a in range(0, len(face)):
 
            if (a == len(face)-1): b = 0
            else: b = a+1
 
            enthalten  = False                
            for face02 in faces:
                if (face != face02):
                    if ((face[a] in face02) and (face[b] in face02)): enthalten = True
            if (enthalten == False):
                print(">> ",a,b)
                print(face[a], face[b])
                return False                          
 
    return True
ws1920/tag_03.txt · Zuletzt geändert: 2020/04/01 19:55 von Zetraeder