Frage

Hier ist ein problem, das ich versuche zu lösen:

Ich habe eine unregelmäßige Form.Wie würde ich gehen über gleichmäßig verteilen 5 Punkte auf dieser gestalten, so dass der Abstand zwischen jedem Punkt einander gleich?

War es hilfreich?

Lösung

Das ist mathematisch unmöglich. Es wird nur für einen kleinen Teil der Basisformen arbeiten.

Es gibt jedoch einige Lösungen, die Sie könnten versuchen:

  1. Analytic Ansatz. Beginnen Sie mit einem Punkt P0, schafft eine Kugel um P0 und schneiden sie mit der Grundform, so dass Sie eine Reihe von Kurven C0. Erstellen Sie dann irgendwo einen anderen Punkt P1 auf C0. Wieder eine Kugel um P1 zu erstellen und schneidet es mit C0, Ihnen eine Reihe von Punkten C1, Ihr dritte Punkt P2 ein in C1 der Punkte geben. Und so weiter und so fort. Dieser Ansatz garantiert Abstandseinschränkungen, aber es hängt auch stark von den Anfangsbedingungen.

  2. iterativer Ansatz. Im Wesentlichen Formfindung. Sie erstellen einige Punkte auf dem Objekt und Sie auch schaffen Federn zwischen denen, die einen Abstand Einschränkung teilen. Dann sind Sie die Federkräfte lösen und Ihre Punkte entsprechend bewegen. Dies wird höchstwahrscheinlich schieben sie von der Grundform entfernt, so müssen Sie sie wieder auf die Grundform ziehen. Wiederholen Sie, bis Ihre Punkte sind nicht mehr bewegen oder bis die Abstandsbeschränkung innerhalb der Toleranz erfüllt ist.

  3. Sampling-Ansatz. Konvertieren Sie Ihre Basisgeometrie in einen Voxelraums, und starten Sie alle Voxel Aushöhlungen, die zu nahe an einem neu eingefügten Punkt. Dies stellt sicher, dass Sie nie zwei Punkte zu dicht beieinander, aber es leidet auch an Toleranz (und wahrscheinlich Leistung) Fragen.

Wenn Sie mehr Informationen über die Art Ihrer Geometrie und Ihre Zwänge, eine spezifischere Antwort möglich liefern können.

Andere Tipps

David sagt, dass dies unmöglich ist, aber in der Tat gibt es eine Antwort aus dem linken Feld:nur legen Sie alle Ihre Punkte übereinander!Sie haben alle den gleichen Abstand zu allen anderen Punkten:null.

In der Tat, das ist der einzige Algorithmus, der eine Lösung hat (D. H.alle paarweisen Abstände sind gleich) unabhängig von der Eingangs-Form.

Ich weiß, die Frage geht dahin, um die Punkte "gleichmäßig", aber da das nicht formal definiert ist, erwarte ich, dass war nur ein Versuch zu erklären, "alle paarweisen Abstände sind gleich", in diesem Fall meine Antwort ist "selbst".

Die einzige Möglichkeit, 5 Punkte zu positionieren, gleich weit voneinander (andere als die triviale Lösung sich durch den Ursprung des Setzens) im 4+ dimensionalen Raum. Es ist mathematisch unmöglich 5 zu haben, ebenso distanziertes Objekt in 3D. Vier ist die Sie in 3D haben können und dass Form ein Tetraeders.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top