Will: Strecke berechnen

Hi, Ich habe volgendes Problem:

Ich habe ein JS gecodet, mit dem ich die aktuellen Maus-koordinaten anzeigen lassen kann.
Nun möchte ich eine Strecke berechnen, von einem Punkt zum anderen...

Wie mache ich das??
Schreibt mir die Antwort bitte auch per Mail!!

  1. Hi,

    Wie mache ich das??

    mit dem Satz von Pythagoras: a²+b²=c²

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. mit dem Satz von Pythagoras: a²+b²=c²

      und wie genau? mit welchem Script?
      Hat jemand ein vertiges?

      1. hi

        und wie genau? mit welchem Script?

        mit deinem?
        wende einfach den satz auf die von dir erhaltenen kordinaten an, fettisch.
        wo ist das problem?
        wenn du das eine script hinbekommen hast, wird diese kleine erweiterung nun wirklich keine herausforderung für dich sein.

        so long
        ole
        (8-)>

        1. wenn du das eine script hinbekommen hast, wird dieseerweiterung nun wirklich keine herausforderung für dich sein.

          ich habe das Script aber nicht ganz alleine Hinbekommen...ich bin so zu Sagen ein newbie in Java Script...ich mavh mehr mit pHP

          1. <html>
            <head><title>Test</title>
            <SCRIPT LANGUAGE="JavaScript">

            <!-- Begin
            var isNav = (navigator.appName.indexOf("Netscape") !=-1);
            function handlerDC(e){
            Xdc = (isNav) ? e.pageX : event.clientX;
            Ydc = (isNav) ? e.pageY : event.clientY;
            document.dataholder.dcX.value=Xdc;
            document.dataholder.dcY.value=Ydc;
            }
            function handlerMU(e){
            Xmu = (isNav) ? e.pageX : event.clientX;
            Ymu = (isNav) ? e.pageY : event.clientY;
            document.dataholder.muX.value=Xmu;
            document.dataholder.muY.value=Ymu;
            }
            function handlerMD(e){
            Xmd = (isNav) ? e.pageX : event.clientX;
            Ymd = (isNav) ? e.pageY : event.clientY;
            document.dataholder.mdX.value=Xmd;
            document.dataholder.mdY.value=Ymd;
            }
            function handlerMM(e){
            Xmm = (isNav) ? e.pageX : event.clientX;
            Ymm = (isNav) ? e.pageY : event.clientY;
            document.dataholder.mmX.value=Xmm;
            document.dataholder.mmY.value=Ymm;
            }
            function handlerMO(e){
            Xmo = (isNav) ? e.pageX : event.clientX;
            Ymo = (isNav) ? e.pageY : event.clientY;
            document.dataholder.moX.value=Xmo;
            document.dataholder.moY.value=Ymo;
            }
            if (isNav) {
            document.captureEvents(Event.MOUSEMOVE);
            document.captureEvents(Event.MOUSEDOWN);
            document.captureEvents(Event.MOUSEOVER);
            document.captureEvents(Event.MOUSEUP);
            document.captureEvents(Event.DBLCLICK);
            }
            document.onmouseover = handlerMO;
            document.onmousedown = handlerMD;
            document.onmouseup   = handlerMU;
            document.onmousemove = handlerMM;
            document.ondblclick  = handlerDC;
            // End -->
            </script>

            </head>
            <body>
            <form name="dataholder"></center>

            <center><table BORDER >
            <tr>
            <td></td>

            <td>X Position</td>

            <td>Y Position</td>
            </tr>

            <tr>
            <td>
            <center>Aktuell</center>
            </td>

            <td>
            <center><input type="text" size=5 name="mmX" value="0"></center>
            </td>

            <td>
            <center><input type="text" size=5 name="mmY" value="0"></center>
            </td>
            </tr>

            <tr>
            <td>
            <center>Taste losgelassen</center>
            </td>

            <td>
            <center><input type="text" size=5 name="muX" value="0"></center>
            </td>

            <td>
            <center><input type="text" size=5 name="muY" value="0"></center>
            </td>
            </tr>

            <tr>
            <td>
            <center>Taste gedrückt</center>
            </td>

            <td>
            <center><input type="text" size=5 name="mdX" value="0"></center>
            </td>

            <td>
            <center><input type="text" size=5 name="mdY" value="0"></center>
            </td>
            </tr>

            <center></form>
            </body>
            <p align="center"><img src="albert.jpg"></p>
            </html>

            das ist mein Script!
            bitte helft mir

          2. hi

            ich habe das Script aber nicht ganz alleine Hinbekommen...ich bin so zu Sagen ein newbie in Java Script...ich mavh mehr mit pHP

            ist ein grund aber kein hinderniss.
            du mußt nur herrausfinden wie du mit javascript

            1. variablen definierst
            2. multiplizierst/expotenzierst
            3. ein wurzel ziehst (Stichwort: Quadratwurzel)

            so long
            ole
            (8-)>

          3. Hi,

            ich habe das Script aber nicht ganz alleine Hinbekommen...ich bin so zu Sagen ein newbie in Java Script...ich mavh mehr mit pHP

            völlig wurscht. Hier geht es erst einmal um Mathematik - diese dann in einer x-beliebigen Programmiersprache umzusetzen fällt in den Bereich der Trivialität.

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hi,

              ich habe das Script aber nicht ganz alleine Hinbekommen...ich bin so zu Sagen ein newbie in Java Script...ich mavh mehr mit pHP

              völlig wurscht. Hier geht es erst einmal um Mathematik - diese dann in einer x-beliebigen Programmiersprache umzusetzen fällt in den Bereich der Trivialität.

              dem ersten Teil des Satzes stimme ich voll zu.
              Der zweite ist - in meinen Augen - an Überheblichkeit kaum zu überbieten.

              Gruß
              Reiner

              1. hi Reiner

                dem ersten Teil des Satzes stimme ich voll zu.
                Der zweite ist - in meinen Augen - an Überheblichkeit kaum zu überbieten.

                naja in einer belieben programmiersprache herrauszufinden wie man

                1. variablen definiert
                2. multipliziert/expotenziert
                3. und eine wurzel ziehst

                fällt nun wirklich in den bereich des trivialen.
                das traue ich mir sogar zu :)

                so long
                ole
                (8-)>

                1. Hi,

                  dem ersten Teil des Satzes stimme ich voll zu.
                  Der zweite ist - in meinen Augen - an Überheblichkeit kaum zu überbieten.

                  naja in einer belieben programmiersprache herrauszufinden wie man

                  1. variablen definiert
                  2. multipliziert/expotenziert
                  3. und eine wurzel ziehst

                  fällt nun wirklich in den bereich des trivialen.
                  das traue ich mir sogar zu :)

                  ok, aus diesem Blickwinkel gestehe ich auch jedem Interessierten zu, über Google und Co. darauf zu kommen, wie man einen Abstand zweier Punkte berechnet, ohne das Wort Pythagoras jemals gehört zu haben.

                  Dennoch stört mich eine in dieser Weise gegebene Antwort sehr!

                  Gruß
                  Reiner

                  1. hi

                    Dennoch stört mich eine in dieser Weise gegebene Antwort sehr!

                    hmmm...ich finde nichts an der "weise" wie die antwort gegeben wurde auzusetzten.
                    sie ist nicht unfreundlich oder etwas in der richtung...sie ist eher neutral und sogar mit einer prise humor versehen und, ganz wichtig, sie ist korrekt.

                    so long
                    ole
                    (8-9>

                    1. Hi,

                      Dennoch stört mich eine in dieser Weise gegebene Antwort sehr!

                      hmmm...ich finde nichts an der "weise" wie die antwort gegeben wurde auzusetzten.
                      sie ist nicht unfreundlich oder etwas in der richtung...sie ist eher neutral und sogar mit einer prise humor versehen und, ganz wichtig, sie ist korrekt.

                      ist die Aussage "...trivial..." wertfrei?
                      Wenn ja, gebe ich Dir Recht!

                      Gruß
                      Reiner

                      1. hi

                        ist die Aussage "...trivial..." wertfrei?

                        Die Brockhaus Enzyklopädie sagt dazu:

                        trivial [ lateinisch ], bildungssprachlich für: abgedroschen, platt; alltäglich, gewöhnlich; unmittelbar einsichtig.

                        Ich denke nicht das es wertfrei ist, in diesem zusammenhang aber wohl nicht im negativen sinne, sondern eher als hinweis auf die simplizität der umsetzung des vorhabens und des somit kleinen problems :).

                        so long
                        ole
                        (8-)>

                        ps: viel geschwollener geht schon bald nicht mehr ;)

                        1. Hi,

                          ist die Aussage "...trivial..." wertfrei?

                          [...]

                          Ich denke nicht das es wertfrei ist, in diesem zusammenhang aber wohl nicht im negativen sinne, sondern eher als hinweis auf die simplizität der umsetzung des vorhabens und des somit kleinen problems :).

                          gut, da sind wir uns einig!
                          Jetzt erläutere mir mal genau, wie etwas, was NICHT wertfrei ist, in Deinem Sprachgebrauch so offensichtlich "korrekt" ist!

                          Nur ein Tip:
                          Wenn es für Dich "einfach" ist, über eine Pfütze zu hüpfen. Ist dann diese Aussage generell korrekt, daß es einfach ist, über eine Pfütze zu hüpfen? Ist das naheliegend, offensichtlich?
                          Muß ich dazu erst meine Oma anschleppen, um meine Kritik (s. Thread weiter oben) zu verdeutlichen?

                          Gruß
                          Reiner

                          1. hi,

                            Wenn es für Dich "einfach" ist, über eine Pfütze zu hüpfen. Ist dann diese Aussage generell korrekt, daß es einfach ist, über eine Pfütze zu hüpfen? Ist das naheliegend, offensichtlich?
                            Muß ich dazu erst meine Oma anschleppen, um meine Kritik (s. Thread weiter oben) zu verdeutlichen?

                            wenn es deine oma ist, die die frage stellt, wie sie über die pfütze kommt, wird die antwort sicher anders ausfallen, als wenn ein junger, vor kraft strotzender strammer (...) bursche die frage stellt. im letzteren fall ist die antwort "hüpf' doch einfach drüber!" wohl durchaus angebracht.

                            gruss,
                            wahsaga

                            1. Hi,

                              Wenn es für Dich "einfach" ist, über eine Pfütze zu hüpfen. Ist dann diese Aussage generell korrekt, daß es einfach ist, über eine Pfütze zu hüpfen? Ist das naheliegend, offensichtlich?
                              Muß ich dazu erst meine Oma anschleppen, um meine Kritik (s. Thread weiter oben) zu verdeutlichen?

                              wenn es deine oma ist, die die frage stellt, wie sie über die pfütze kommt, wird die antwort sicher anders ausfallen, als wenn ein junger, vor kraft strotzender strammer (...) bursche die frage stellt. im letzteren fall ist die antwort "hüpf' doch einfach drüber!" wohl durchaus angebracht.

                              kannst Du mein bewußt "einfach" gehaltenes Beispiel jetzt auch anwenden?

                              Gruß
                              Reiner

                              1. hi,

                                kannst Du mein bewußt "einfach" gehaltenes Beispiel jetzt auch anwenden?

                                wenn du mir nochmal kurz sagst, auf welches beispiel du dich jetzt beziehst ...?

                                gruss,
                                wahsaga

      2. hej Will,

        also einen kleinen Exkurs in die Geometrie:
        Stell dir vor du startest an einem Punkt P1(x1,y1) und kommst an einem Punkt P2(x2,y2) an. Jetzt verbindest du die Punkte P1 und P2 zur Strecke "c". (Zeichne dir mal ne schräge Strecke auf ein Blatt Papier).  Jetzt zeichnest du einfach mal eine Waagerechte durch den Punkt P1 und ne Senkrechte durch den Punkt P2. Da wo die beiden sich schneiden (und das rechtwinklig, damit ist der Pythagoras anwendbar) ist P3.

        Dann ist
        P1P3 = x2-x2
        P2P3 = y2-y1

        Soviel zur Grundlage. Jetzt brauchst du nur die Position der Maus am Anfangs- und Endpunkt entsprechende Variablen zuzuordnen und die Berechnung durchzuführen.
        Wenn du wirklich die Länge eines Bogens und nicht der Verbindungslinie bestimmen willst, bestimmst du ein zeitlich oder örtlich hinreichend kleines Intervall und zerlegst den Bogen in Sekanten, deren Längen du bestimmst und einfach zusammen addierst.

        Zur technischen Umsetzung wird dir in erster Linie wohl das
        http://selfhtml.teamone.de/javascript/objekte/event.htm#page_x_y
        http://selfhtml.teamone.de/javascript/objekte/window.htm#set_interval
        helfen.

        Und natürlich brauchst du alles Allgemeine zu Abfragen (do...while bietet sich wohl an) Variablen und Funktionen.

        Grüße i.

  2. Hi

    welche strecke?
    ich nehme mal an, dass du eine strecke meinst, die mit einem mausklick beginnt und endet. richtig?

    dann speicher doch die beiden klicks in ein array oder string und lass' sie dann ausgeben. wo ist das problem?

    gruß.
    roger.

  3. Hallo,

    Ich habe ein JS gecodet, mit dem ich die aktuellen Maus-koordinaten anzeigen lassen kann.
    Nun möchte ich eine Strecke berechnen, von einem Punkt zum anderen...

    Wie mache ich das??

    Die Pythagoras-Antwort hast Du ja bereits erhalten.

    In so einem "Mathe-Thread" will ich mal auf die Loesung mit einer SVG-Technik verweisen (koennte ja mal interessant werden). Gegeben seien zwei Punkte (100,100) und (200,200). Ihr Abstand ergibt sich demnach "klassisch" als Quadratwurzel(20000).

    Wenn man beide Punkte als SVG-Pfad auffasst und dann die fuer beliebige Pfade (Linien, Boegen, Bezier-Kurven usw.) verfuegbare SVG-DOM-Methode getTotalLength() anwendet erhaelt man auch den gewuenschten Wert:

    <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
      "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">

    <svg xmlns="http://www.w3.org/2000/svg">

    <path id="pfad" d="M 100,100 L 200,200" style="stroke: #F00" onload="alert(svgDocument.getElementById('pfad').getTotalLength())"/>

    </svg>

    Ausgabe (unter Adobe SVG Viewer 3.01): 141.421

    MfG, Thomas