Welchen Algorithmus kann ich bei gegebenen Werten in einem Netz verwenden, um festgelegte Konturen effizient auszurichten?


9

Ich habe ein Netz, Flächen , Kanten E und Eckpunkte V und ich habe eine Liste vordefinierter Konturen für Ebenen.F.E.V.

Welchen Algorithmus kann ich verwenden, um Konturen am effizientesten zu konstruieren?

Geben Sie hier die Bildbeschreibung ein

Ein Diagramm der Kontur ist oben gezeigt. Linien mit derselben Farbe haben denselben Wert.z


1
Warum das Downvote?
Graviton

1
Ich bin mir nicht sicher, es scheint mir eine relevante Frage zu sein. Downvoter? Ein Problem ist, dass Isolinien für Netzdaten nicht besonders gut definiert zu sein scheinen. Könnten Sie vielleicht ein grafisches Beispiel für das Problem geben, das Sie lösen möchten?
Aron Ahmadia

Antworten:


4

Dies kann durch eine Schleife über jedes Element und dann für jedes Element durch eine Schleife über die Kanten erfolgen. Bestimmen Sie dann für jede Kante die Koordinate für eine bestimmte Kontur, wenn sie die Kante kreuzt, dh prüfen Sie, ob die Kontur einen Wert in dem Intervall annimmt, das von den Eckpunkten überspannt wird. Wenn die Kontur zwei Kanten kreuzt, zeichnen Sie die a-Linie zwischen den Koordinaten zwischen den erkannten Kreuzungspunkten an den Kanten.

Wenn Sie dies für alle Elemente tun, werden die Konturen erstellt. Es ist auch eine Option, durch Interpolation jedes Dreiecks ein feineres Netz zu verfeinern und dann eine Delaunay-Triangulation des verfeinerten Netzes zu verwenden und dann die Routine wie oben beschrieben anzuwenden, um eine ausreichend feine Auflösung zu erzielen.


Ö(F.n)F.n

@ Graviton: Ich glaube nicht, dass Sie erwarten können, viel besser als lineare Skalierung mit Problemgröße zu sein ...
Allan P. Engsig-Karup
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.