(Rund um die...) Mathematik Problem



  • Hi!

    Ich habe eine TPaintBox und habe dort eine etwa so aussehende Grafik: http://home.arcor.de/profeich/hlp.jpg

    Also das schwarze und das grüne ist sichtbar gezeichnet.
    Von den grünen Punkten besitze ich die X und Y Positionen. Insgesamt werden Sie später frei verschiebbar sein.

    Das rote Kreuz soll der Mauszeiger darstellen.

    Nun möchte ich rausfinden an welcher Linie der Mauszeiger etwa am nähesten liegt.

    Ich dachte mir von jeder Linie eine Gerade durch den Mauszeiger zu ziehen und die Länge zu messen. Jedoch weiss ich nicht wie man sowas möglichst schnell berechnet.

    Sonst würde ich von jeder Linie den Winkel berechnen und dann 90 Grad in Richtung Mauszeiger gehen. Dann würd ich eine weitere Strecke mit dem Satz des Pythagoras messen. Jedoch woher weiss ich wo ich auf der Wandlinie (schwarz) die Gerade anfangen muss?

    Weiss jemand ne möglichst schnelle Möglichkeit das zu machen.

    Nehmen wir einfach mal als Beispiel folgende Struktur für die Grafik:

    typedef struct {
      long X, Y;
    } wallstruct;
    wallstruct walls[5];
    

    Danke im voraus
    Benjamin



  • Ich bezweifle, dass es dafür eine BCB-spezifische Lösung gibt.

    Verschoben nach "Rund um".


Anmelden zum Antworten