2017-05-02 4 views
3

Ich möchte das Volumen eines beliebigen Gitters mit Punkten füllen, so dass die resultierenden Punkte die grobe Form der ursprünglichen Geometrie bilden.Ansätze zum Füllen des Volumens beliebiger 3D-Geometrie mit Punkten

Ich bin auf this article auf Mesh Sampling gestoßen, die vielversprechend aussieht, aber wollte sehen, ob es alternative Ansätze gab. Beachten Sie, dass, obwohl ich bin nicht suchen, um diese Operation in Echtzeit durchzuführen, Geschwindigkeit ist immer noch günstiger über die Genauigkeit.

Mesh sampling of a torus

Antwort

1

Ein typischer Ansatz ist Ablehnung Abtasten. Platzieren Sie einen Begrenzungsrahmen um Ihr Objekt. Generieren Sie zufällige Punkte innerhalb der Box. Schieße für jeden Punkt p einen Strahl in zufälliger Richtung und zähle Kreuzungen mit deinem Objektgitter. Bei einer ungeraden Anzahl von Kreuzungen ist das p innen.

Es gibt zwei Herausforderungen an diese Methode. Wenn Ihr Objekt nur einen kleinen Prozentsatz des Bounding-Box-Volumens ausfüllt, werden die meisten Ihrer Samples abgelehnt. Zweitens benötigen Sie robusten Code zum Zählen von Strahlenübergängen. Letzteres wurde ziemlich gründlich ausgearbeitet. Naive Ansätze können leicht scheitern.

Anspruchsvollere Herangehensweisen verwenden zufällige Wege in Ihrem Objekt, um an einem zufälligen Ort im Inneren zu landen.

Verwandte Themen