LabVIEWForum.de - Korridor im XY-Graph

LabVIEWForum.de

Normale Version: Korridor im XY-Graph
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe ein Signal welches ich mit einer Maske auswerten will ( Erlaubter Bereich oder außerhalb)
Das Signal sieht man auf dem Bild. Den Korridor habe ich eingezeichnet.
Es gibt ein VI "Masken und Grenzwerttest" das ich aber nur in einer Richtung einsetzen kann.
Der Korridor hat hier annähernd eine Rechteckform, ich möchte aber auch andere Formen auswerten.
Hat jemand eine Idee?

Grüße
kpa
Hallo kpa,

einfach in deinen XY-Graphen zwei weitere Kurven plotten. Ein Rechteck ergibt sich aus 5 XY-Paaren Wink
Danke GerdW,

für deine Antwort -- aber das war nicht das Problem.
Das Problem ist die Auswertung ob die Meßwerte im Korridor zwischen den beiden Polygonen liegen oder nicht.
Habe das Problem aber schon gelöst.

Grüße

kpa
bekommen wir die Lösung zu sehen? Mir schweben da jetzt fantastische Formeln durch den Kopf mit Kurven voneinander abziehen, nullstellen bestimmen gerade/ungerade auswerten usw.!

Evtl. hast du ja einen etwas weniger komplizierten ansatz!?

LG
Torsten
Hallo TSchAC,

hier ist die Lösung wie man die Zugehörigkeit eines Messpunktes zu einem 2D-Korridor bestimmen kann. Vielleicht kann's ja einer mal brauchen.

Quelle des Bildes:
Titel - Mathematische Grundlagen
Betreff - Seminar 3D-Grafik
Verfasser - Niels Lohmann und Alex Julius
Gefunden - Irgendwo im Internet

Lv86_img



Grüße

kpa
Hallo allerseits,

Hab mich ein wenig mit dieser Korridor-Abfrage beschäftigt und ein anderes SubVI implementiert.
Es ist der RayCast-Algorithmus.

Dieser ist nach meinen Tests schneller als die InnenWinkel-Methode. (ca. 2-3mal schneller)

Vielleicht könnt ihr es ja noch gebrauchen. Darum habe ich den Quelltext möglichst sauber gestaltet und sogar ein wenig (englisch) kommentiert.
Die Anschlüsse hab ich gleich gelassen, so dass man es direkt ersetzen kann.

[attachment=43800]
[attachment=43801]

Gruß
Und warum nicht einfach die Funktion "Punkt in Polygon.vi" in
Mathematik/ Geometrie/ Algorithmische Geometrie (full development system)
verwenden? Liegt es daran, dass die Funktion zu gut versteckt ist?
Guten Morgen,

Danke Lucki für den Hinweis! JA es ist zu gut versteckt. Big Grin

Spaß beiseite: Unter LV2010 hab ich es nicht gesehn, da gibt es die Funktion noch nicht. Leider habe ich nicht auch noch in LV2012 nachgeschaut. Hab gleich nen Performance-Test für das BeispielVI von oben gemacht. Es ist noch schneller. Der Geschwindigkeitsgewinn kommt durch die Quadranten-Klassifizierung vor der eigentlichen Schnittpunktbetrachtung. Das war auch kurz in Wikipedia erwähnt, aber nicht in dem Pseudo-Code, der dort steht. Im Schnitt benötigt der LV2012-Code nur 37% der Zeit von meinem Code: Also nochmal fast Faktor 3!

Krass!
Wieder ein Grund mehr auf eine neuere LV-Version umzusteigen.

Gruß
Danke Lucki,

für den Tip.

Als ich das mit LV8.6 gemacht habe gab es die Funktion noch nicht.

Jetzt habe ich auch die Version 2012 und muss mal schauen welche Funktionen mir zur Verfügung stehen.

Grüße

kpa
Referenz-URLs