2016-05-04 22 views
2

Ich habe ein benutzerdefiniertes Netz erstellt. Das funktioniert soweit. In Bezug auf die Gesichtserstellung habe ich es durch einen Schalterbetrieb realisiert. Wenn ich 4 Vertices (0,1,2), (0,2,3) und so weiter ...So erstellen Sie 3D-Geometrie für ein benutzerdefiniertes Netz

switch (coordinates_updated.vertices.length) { 

     case 5://wall 
      geometry.faces.push(
       new THREE.Face3(0, 1, 2), 
       new THREE.Face3(0, 2, 3)); 
      break; 
     case 6: 
      geometry.faces.push(
       new THREE.Face3(0, 1, 2),// make a triangle 
       new THREE.Face3(0, 2, 3), 
       new THREE.Face3(0, 3, 4)); 
      break; 
     ... 

Aber jetzt einige Fehler tritt für komplexere Gebäude! Siehe das Bild building Mein Problem ist, dass ich für jedes Gebäude verschiedene Anzahlen von Vertices habe. Ich brauche eine Art von Methode, die die Gesichter automatisch erstellen kann (keine Switch-Operation) und ohne Überlappungen.

kann jemand geben einige Ratschläge oder Tipps, wie dies zu tun ist. Gibt es einige Methoden, die diese Art von Problem behandeln?

+0

Siehe http://threejs.org/examples/webgl_geometry_shapes.html – WestLangley

Antwort

1

Was Sie erreichen möchten, ist bekannt als "Polygon Triangulation". Here ist eine Übersicht über das Problem und beliebte Algorithmen.

+0

danke für die Info – Moehre