2017-07-04 8 views
1

Ich möchte eine App mit three.js erstellen, wo ein Benutzer Polygone (gut, tatsächlich, Gesichts-Loops) auf einem Netz malen kann.Finden Sie den kürzesten Weg auf three.js mesh?

Der Benutzer würde Gesichter A und B mit ihrer Maus und dem Rasycaster auswählen, und dann möchte ich alle Flächen auf dem kürzesten Weg zwischen A und B finden und sie färben.

Gibt es eingebaute Dienstprogramme, die dabei helfen, oder irgendwelche Beispiele zu verwenden?

Ich habe keine gefunden, es sei denn, Sie können mich zu etwas führen Ich werde einen Algorithmus für den kürzesten Weg selbst implementieren ... Ich denke, ich muss mit der Erstellung einer Adjazenzliste aus der Geometrie von Threejs beginnen.

+0

Mit ['THREE.Geometry'] (https://threejs.org/docs/#api/core/Geometry) können Sie auf die Eigenschaft' faces' zugreifen (https://threejs.org/docs /#api/core/Geometry.faces), eine Liste aller Flächen in der Geometrie. ['DREI.BufferGeometry'] (https://threejs.org/docs/#api/core/BufferGeometry) hat diese Annehmlichkeit nicht, ist aber effizienter, wenn es Ihr Anliegen betrifft. Sie wissen immer noch, dass alle drei Werte im Attribut "position" ein Eckpunkt sind. Diese werden normalerweise durch die Eigenschaft 'index' referenziert, und alle drei Indizes bilden ein Gesicht. – TheJim01

Antwort

1

Ich habe keine three.js Beispiele oder Erweiterungen gefunden, die den kürzesten Pfad oder die Baumsuche gemacht haben, also habe ich einfach . Running here.

Verwandte Themen