Hi, wie kann ich die Voronoi Regionen eines Polygons berechnen und prüfen, in welcher Region sich ein
Punkt befindet, sodass ich mir gleich die Vertices schnappen kann, die davon betroffen sind ?
Ich möchte nämlich Prüfen, welchen Teilen des Polygons dieser Punkt am nächsten ist.
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich glaub, dass es rechnerisch sehr aufwendig werden wird.
Ein Triangle besteht aus 3 Seiten, also musst du in der mitte ein zur kante 90° stehenden gedankengerade machen.
Dann musst du deine Gedankenstriche auf überschneidung Prüfen.
1 mit 2, 1 mit 3 und 3 mit 2 prüfen, wenn ein Schnittpunkt existiert dann wird die gedankenlinie auf den Punkt gekürzt. Nun hast du 3 Räume auf dem Triangle und kannst das Zentrum der jeweilige Räume ermitteln.
Die Kanten kannst du nun weg werfen und die Zentren der Voronoiregionen speicherst du. Nun kannst du einfach dein Punkt mit den 3 gespeicherten punkten prüfen. einfach die länge aller punktpaare ermitteln und den kürzesten nehmen.
Allerdings würde ich es vorziehen einfach den punkt zu nehmen und dann 3 punktpaare zu bilden.
Dein Punkt "Neu" musst du nur nehmen und dann dei länge zwischen Neu und allen 3 Vertice testen.
länge:=sqrt((neu.x-vertice.x)²+(neu.y-vertice.y)²+(neu.z-vertice.z)²);
mach das auf alle Vertice und der kürzeste ist dein Gewollter punkt.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.