Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Punkt im Koordinatensystem innerhalb einer bestimmten Fläche


Andi1982 - Mo 01.10.07 19:58
Titel: Punkt im Koordinatensystem innerhalb einer bestimmten Fläche
Hallo alle zusammen,

diese Frage richtet sich jetzt mehr an die Mathematiker unter euch. Hier ist das Koordinatensystem um das es sich handelt:

[url=http://www.public-pic.de/show.php?imgid=402551]user defined image[/url]

Ich muss erkennen können ob ein bestimmter Punkt innerhalb des Bereiches "1" oder "2" oder in keinem von beiden ist... Die linke untere Ecke vom zweiten bereich braucht man nicht so genau zu berücksichtigen.

Also Beispiel, wo ist der Punkt (4|1500)? Da muss dann Bereich "1" herauskommen.

Hat von euch jemand eine Idee wie man dies Lösen kann???

Viele Grüße
Andi


Moderiert von user profile iconKlabautermann: Topic aus Sonstiges (Delphi) verschoben am Di 02.10.2007 um 08:57


Horst_H - Mo 01.10.07 20:11

Hallo,

schönes Bild.


Wenn Du die Grenzkurven mathematisch so beschreiben kannst, dass sie sich im zu testenden Wertebereich nicht überschneiden, ist es recht einfach.
Du testest für dein X ob links oder rechts von welcher Grenzekurve liegt.
Bei f(x) monoton steigend wäre rechts , wenn Y kleiner als f(X) ist.

Gruß Horst
P.S.
Gebiete Dreiecke aufteilen (Triangulation) und auf Punkt in Dreieck testen


ene - Di 02.10.07 06:23

Wie werden denn deine Bereiche definiert?


Andi1982 - Mi 03.10.07 19:45

na ich bekomme auch koordinaten und muss schauen ob sie in einem von diesen bereichen sind. Habe es jetzt aber gelöst, war garnicht so kompliziert:

habe mir die strecke welche fläche 1 abgrenzt genommen und daraus eine Faktor gebildet: (2450 - 10) / (5 - 1) = 610

Den habe ich in diese Formel für y eingesetzt: y = (x - 1) * 610

Wenn ich jetzt koordinaten bekomme setze ich mein X in diese formel ein und bekomme ein Y als ergebnis. Dieses vergleiche ich dann mit dem Y meiner koordinaten. Wenn dies Größer weiß ich dass mein Punkt außerhalb der beiden flächen ist. Ansonsten muss ich das ganze noch mit der anderen geraden machen!

Das funktioniert so auch ganz gut!


Horst_H - Mi 03.10.07 20:46

Hallo,

meine Worte ;-) , es kann ganz einfach sein.

Gruß Horst