matze: Koordinaten einer Linie in Array speichern?

moin moin,

ich wollte mal wie im betreff schon erwähnt wissen ob es eine möglichkeit gibt die einzelnen punkte einer linie in ein array zu schreiben.

also in der form "x1;y1;x2;y2...xn;yn;" in etwa.

danke schonmal im vorraus =)

  1. Hallo,

    ich wollte mal wie im betreff schon erwähnt wissen ob es eine möglichkeit gibt die einzelnen punkte einer linie in ein array zu schreiben.

    selbstverständlich gibt es diese Möglichkeit - warum auch nicht?
    Aber was möchtest du eigentlich wissen?

    also in der form "x1;y1;x2;y2...xn;yn;" in etwa.

    Das sieht aus wie ein String, nicht wie ein Array.

    danke schonmal im vorraus =)

    Aberr gerrn.

    Ciao,
     Martin

    --
    Ein Patriot ist jemand, der bereit ist, sein Land gegen seine Regierung zu verteidigen.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  2. moin moin,

    Moin!

    also in der form "x1;y1;x2;y2...xn;yn;" in etwa.

    Das ist eine eigenartige Fragestellung. Eine Linie hat per definition nur einen Anfangs- und einen Endpunkt. Und natürlich kann man diese in einem Array speichern.

    Markus**

    1. Hallo,

      Eine Linie hat per definition nur einen Anfangs- und einen Endpunkt.

      hmm, für mich hat sie noch unendlich viele Punkte dazwischen. Wenn man sie auf ein Raster abbildet (Bildschirm, Druckraster), sind es nur noch endlich viele Punkte. Übrigens kann eine Linie ja auch eine Kurve sein, auch wenn das hier vermutlich nicht gemeint war.

      Und natürlich kann man diese in einem Array speichern.

      Eben. Aber Was will der OP wirklich?

      Ciao,
       Martin

      --
      Gott hilft niemandem, er erfreut sich nur an unseren Leiden.
        (Ashura)
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      1. Eine Linie hat per definition nur einen Anfangs- und einen Endpunkt.

        Nein, eine Linie hat keinen Anfangs- und Endpunkt - sie wird durch zwei beliebige Schnittpunkte definiert.

        hmm, für mich hat sie noch unendlich viele Punkte dazwischen.

        Nein, erst eine Gerade ist eine Ansammung von unendlich vielen Punkten die alle auf einer Linie (die in beide Richtungen unbegrenzt ist) liegen. "Punkte dazwischen" hingegen hast du nur, wenn du zwei Punkte auf dieser Linie definierst - das nennt sich dann aber "Strecke".

        Wenn man sie auf ein Raster abbildet (Bildschirm, Druckraster), sind es nur noch endlich viele Punkte.

        Dann hat man höchstens noch eine Punktwolke, auch wenn die sehr länglich sein wird :)

        Übrigens kann eine Linie ja auch eine Kurve sein, auch wenn das hier vermutlich nicht gemeint war.

        Eine Gerade ist auch nur eine Sonderform einer mathematischen Kurve - und eine Strecke ist ein Teilstück daraus. So wie auch ein Kreis eine Kurve ist - und ein Kreisbogen ein Segement mit zwei aus seinem Winkel im Mittelpunkt bestimmt wird.

        Wenn der Kreis einen unendlich großen Radius hat, lässt sich damit wohl auch eine Stecke definieren :)

        1. Moin,

          Eine Linie hat per definition nur einen Anfangs- und einen Endpunkt.
          Nein, eine Linie hat keinen Anfangs- und Endpunkt - sie wird durch zwei beliebige Schnittpunkte definiert.

          nein, was du damit definierst, ist eine Gerade.

          hmm, für mich hat sie noch unendlich viele Punkte dazwischen.
          Nein, erst eine Gerade ist eine Ansammung von unendlich vielen Punkten die alle auf einer Linie (die in beide Richtungen unbegrenzt ist) liegen. "Punkte dazwischen" hingegen hast du nur, wenn du zwei Punkte auf dieser Linie definierst - das nennt sich dann aber "Strecke".

          Was die Frage aufwirft: Hat eine Linie Endpunkte? - Ja, möglicherweise. Vielleicht auch nicht.
          Du sagst, eine Gerade ist ein Sonderfall einer Linie. Gut, diese Linie hat keine Endpunkte. Eine Strecke ist aber ebenso ein Sonderfall einer Linie, und die hat Endpunkte. Die Existenz von Anfangs- und/oder Endpunkten kann also nicht für die Definition einer Linie taugen.

          Wenn ich den Begriff der Linie allgemein fasse und auch noch Kurven (also gekrümmte Linien) mit einschließe, dann hat meine Linie zwar nicht zwingend Anfangs- und Endpunkte, ist aber auch nicht durch nur zwei Punkte definiert, sondern durch eine unendlich große Menge an Punkten. Diese Punkte können einer mathematischen Vorschrift entspringen (z.B. beim Schaubild einer Funktion), dann kann man jeden beliebigen Punkt der Linie bestimmen; sie können aber auch rein graphisch festgelegt sein. Eine willkürlich gemalte Kurve auf einem Blatt Papier ist für mich auch eine Linie.

          Wenn der Kreis einen unendlich großen Radius hat, lässt sich damit wohl auch eine Stecke definieren :)

          Interessanter Ansatz ...

          Ciao,
           Martin

          --
          "Life! Don't talk to me about life!"
            (Marvin, the paranoid android in Douglas Adams' "The Hitchhiker's Guide To The Galaxy")
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          1. Moin,

            Eine Linie hat per definition nur einen Anfangs- und einen Endpunkt.
            Nein, eine Linie hat keinen Anfangs- und Endpunkt - sie wird durch zwei beliebige Schnittpunkte definiert.

            nein, was du damit definierst, ist eine Gerade.

            Die Linie ist einfach nur "da" - erst die Grade ist die Punkteliste :)

            Stell dir eine Perlenkette vor - die Linie ist der Faden auf der die Perlen aufgefädelt sind, die Perlen sind die Punkte. Der Verlauf der Linie kann durch zwei beliebige Perlen auf der Kette eindeutig definiert werden (wenn man jetzt mal davon absieht, dass die Schnur flexibel ist).

            hmm, für mich hat sie noch unendlich viele Punkte dazwischen.
            Nein, erst eine Gerade ist eine Ansammung von unendlich vielen Punkten die alle auf einer Linie (die in beide Richtungen unbegrenzt ist) liegen. "Punkte dazwischen" hingegen hast du nur, wenn du zwei Punkte auf dieser Linie definierst - das nennt sich dann aber "Strecke".

            Was die Frage aufwirft: Hat eine Linie Endpunkte? - Ja, möglicherweise. Vielleicht auch nicht.

            Nein, die Linie selbst hat keine Endpunkt - die Linie selbst hat überhaupt keine Punkte.

            Punkte haben Strecken (beidseitig begrenzt), Strahlen (einseitig begrenzt) oder Geraden (keine Begrenzung).

            Du sagst, eine Gerade ist ein Sonderfall einer Linie.

            Nein, eine Gerade ist ein Sonderfall einer Kurve :) Punke einer Kurve liegen auf einer Linie, nur dass diese eben nicht gerade ist sondern gekrümmt.

            Gut, diese Linie hat keine Endpunkte. Eine Strecke ist aber ebenso ein Sonderfall einer Linie, und die hat Endpunkte. Die Existenz von Anfangs- und/oder Endpunkten kann also nicht für die Definition einer Linie taugen.

            Hat auch damit nix zu tun.

            Wenn der Kreis einen unendlich großen Radius hat, lässt sich damit wohl auch eine Stecke definieren :)

            Interessanter Ansatz ...

            Ich hab noch einen:
            Auf einer Kugel mit unendlichem Radius hat ein Dreieck mit nicht gekrümmten Kanten eine Winkelsumme von 270 Grad :p

            1. @@suit:

              nuqneH

              die Linie ist der Faden auf der die Perlen aufgefädelt sind

              Seid ihr sicher, dass ihr Perlen auffädelt, und nicht etwa Erbsen? ;-)

              Qapla'

              --
              Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
              (Mark Twain)
            2. Hallo,

              Stell dir eine Perlenkette vor - die Linie ist der Faden auf der die Perlen aufgefädelt sind, die Perlen sind die Punkte. Der Verlauf der Linie kann durch zwei beliebige Perlen auf der Kette eindeutig definiert werden

              nein, denn die Kette (der Faden) kann zwischen diesen beiden Perlen einen beliebigen geometrischen Verlauf haben.

              (wenn man jetzt mal davon absieht, dass die Schnur flexibel ist).

              Aber darum geht es mir doch die ganze Zeit: Nur unter der Voraussetzung, dass man zwei Punkte auf dem *kürzesten* Weg verbindet, ist die Definition durch zwei Punkte möglich. Das ist aber nach meiner Auffassung bereits ein Sonderfall.

              Was die Frage aufwirft: Hat eine Linie Endpunkte? - Ja, möglicherweise. Vielleicht auch nicht.
              Nein, die Linie selbst hat keine Endpunkt - die Linie selbst hat überhaupt keine Punkte.

              Ansichtssache. Für mich *ist* eine Linie eine Aneinanderreihung von Punkten.

              Du sagst, eine Gerade ist ein Sonderfall einer Linie.
              Nein, eine Gerade ist ein Sonderfall einer Kurve :)

              Genau. Kurve und Linie sind für mich vollkommen synonyme Begriffe - wenn wir mal von nichtmathematischen Bedeutungen der Begriffe absehen (z.B. Bus- oder Bahnlinie).

              Auf einer Kugel mit unendlichem Radius hat ein Dreieck mit nicht gekrümmten Kanten eine Winkelsumme von 270 Grad :p

              Und eine Kugel mit negativem Radius ist vom Mittelpunkt aus nach innen gestülpt. ;-)

              Ciao,
               Martin

              --
              Niemand ist überflüssig: Er kann immer noch als schlechtes Beispiel dienen.
              Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
              1. @@Der Martin:

                nuqneH

                Aber darum geht es mir doch die ganze Zeit: Nur unter der Voraussetzung, dass man zwei Punkte auf dem *kürzesten* Weg verbindet, ist die Definition durch zwei Punkte möglich.

                Nein, auch die Linie, die eine Schnur (Kette) *bestimmter* Länge unter dem Einfluss der Schwerkraft bildet, ist durch zwei Punkte (Anfang und Ende) eindeutig definiert.

                Ansichtssache. Für mich *ist* eine Linie eine Aneinanderreihung von Punkten.

                Aneinanderreihung hat sowas diskretes. Sagen wir besser: eine Menge von Punkten.

                Qapla'

                --
                Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                (Mark Twain)
              2. nein, denn die Kette (der Faden) kann zwischen diesen beiden Perlen einen beliebigen geometrischen Verlauf haben.

                (wenn man jetzt mal davon absieht, dass die Schnur flexibel ist).

                Aber darum geht es mir doch die ganze Zeit: Nur unter der Voraussetzung, dass man zwei Punkte auf dem *kürzesten* Weg verbindet, ist die Definition durch zwei Punkte möglich. Das ist aber nach meiner Auffassung bereits ein Sonderfall.

                Eine Grade oder Strecke hat keine Krümmung, das ist ja der Sonderfall - wenn das Ding irgendwelche Kurven hat, ist sie aber nicht mehr eindeutig durch zwei Punkte beschreibbar, da brauchts noch einiges anders an Informationen.

                Und eine Kugel mit negativem Radius ist vom Mittelpunkt aus nach innen gestülpt. ;-)

                Und wenn auf der Oberfläche außen ein Blümchenmuster hat und die Kugel innen rot angemalt ist, dann ist bei einem negativen Radius das Blümchenmuster innen und die rote Farbe außen. Was ist da jetzt so absurd?

                1. Hallo suit,

                  Eine Grade oder Strecke hat keine Krümmung, das ist ja der Sonderfall - wenn das Ding irgendwelche Kurven hat, ist sie aber nicht mehr eindeutig durch zwei Punkte beschreibbar, da brauchts noch einiges anders an Informationen.

                  z.B. eine Shadok-Line: das ist die längste Verbindung zwischen zwei Punkten. :)

                  Gruß, Jürgen

                  1. z.B. eine Shadok-Line: das ist die längste Verbindung zwischen zwei Punkten. :)

                    Ich werfe mal Steiner Points in den Raum - das sind die Schnittpunkte der kürzesten Verbinung von mehr als 2 Punkten :p

  3. Lieber matze,

    Koordinaten sind Datenpaare. Wie Du selbst schreibst, hast Du jeweils einen X-Wert und einen Y-Wert. Warum solltest Du nun Strings in ein Array schreiben?

    Für meine Wegpunkte in meinem Mensch-ärgere-dich-nicht-Spiel habe ich die Koordinaten als Objekte in ein Array geschrieben. Folgender Code verdeutlicht die Vorgehensweise:

    var MeinObjekt = new Object();  
      
    MeinObjekt.koordinaten = new Array();  
      
    MeinObjekt.speichere_koordinaten = function (x_wert, y_wert) {  
        var koordinaten = new Object();  
      
        koordinaten.x = x_wert;  
        koordinaten.y = y_wert;  
      
        this.koordinaten.push(koordinaten);  
    };
    

    Wenn man das in JSON-Schreibweise notiert, dann sieht das so aus:

    var MeinObjekt = {  
        koordinaten : [],  
        speichere_koordinaten : function (x_wert, y_wert) {  
            this.koordinaten.push({  
                x: x_wert,  
                y: y_wert  
            });  
        }  
    };
    

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. herzlichen dank erstmal für die (rapiden) antworten.
      ja also es sieht wie folgt aus:

      ich möchte die einzelnen koordinaten einer linie von punbkt 1 zu punkt 2 in einem array speichern um dieses array dann nach und nach abzuarbeiten und einen punkt darzustellen der diese linie nachvollzieht. also sprich im array liegt dann der path. folglich reicht es mir auch nicht mit start und endkoordinaten zu arbeiten.

      p.s.: das macht natürlich die diskussion über start und endpunkt, gerade und linie etc. etwas überflüssig

      1. Hallo,

        ich möchte die einzelnen koordinaten einer linie von punbkt 1 zu punkt 2 in einem array speichern um dieses array dann nach und nach abzuarbeiten und einen punkt darzustellen der diese linie nachvollzieht. also sprich im array liegt dann der path. folglich reicht es mir auch nicht mit start und endkoordinaten zu arbeiten.

        gut, das verstehe ich jetzt so ungefähr. Glaube ich jedenfalls.
        Allerdings ist mir immer noch unklar, an welcher Stelle du nun Schwierigkeiten hast:
        Du hast einen Start- und einen Endpunkt, die sind vermutlich vorgegeben. Du hast also den Abstand der beiden Punkte auf der x- und y-Achse, und kannst nun eine Schrittweite festlegen, mit der du jeweils deine x- und y-Koordinate von Punkt zu Punkt erhöhst.

        p.s.: das macht natürlich die diskussion über start und endpunkt, gerade und linie etc. etwas überflüssig

        Aber interessant. :-)

        So long,
         Martin

        --
        Der Alptraum jedes Computers:
        "Mir war, als hätte ich gerade eine 2 gesehen."
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hallo,

          Hi!

          Aber interessant. :-)

          Genau! Ein Punkt der eine Strecke beschreitet, könnte nun aber auch einen Vektor darstellen.
          -Strecke
          -Linie
          -Grade
          -Vektor
          -Wolke<Punkt>
          was denn nun? :) Und wie kann man das vom TO Gewünschte ergebnis, möglichst sinnvoll implementieren?

          Markus**

      2. Lieber matze,

        vielleicht solltest Du uns weniger erklären, was Du tun willst, sondern wo Deine Probleme bei der Umsetzung anfangen. Deine Postings lesen sich im Moment so, als hättest Du von Tuten und Blasen keine Ahnung. Das von mir gepostete Code-Beispiel löst das Problem Deines Eingangspostings. Das von mir verlinkte Browsergame (mit offen zugänglichem Quelltext!) zeigt im Grunde genommen exakt das, was Du _wirklich_ zu erreichen suchst.

        Dir ist nicht zu helfen, solange Du nicht erklären kannst, woran Du tatsächlich scheiterst.

        Liebe Grüße,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
        1. lieber felix,

          herzlichen dank für den freundlichen hinweis. die postings sehen deshalb so aus, weil ich letztenendes nebenher noch am script arbeite (vll. sollte ich die zwischenzeitlich getätigten änderungen mal hier nachtragen 0_o).

          und ja tuten und blasen habsch kui ahnung von, hat mir aba auch nit helfen könne. problem lag in der entsprechenden schrittweite des punktes =)

          *schussel*

          trotzdem danke für die nette konversation und hilfsbereitschaft an alle ^^

          1. Lieber matze,

            und ja tuten und blasen habsch kui ahnung von, hat mir aba auch nit helfen könne.

            Du willst also keine weitere Hilfe als eine "nette Konversation"?

            problem lag in der entsprechenden schrittweite des punktes =)

            Dieser Satz ergibt für mich keinen Sinn. Wenn Du von Tuten und Blasen keine Ahnung hast, welche Rolle sollte dann eine Schrittweite eines Punktes haben?

            *schussel*

            Ja, der Gedanke war die ganze Zeit unverdrängbar. *g*

            trotzdem danke für die nette konversation und hilfsbereitschaft an alle ^^

            Hätte sie nur genützt und damit einen Zweck gehabt...

            Liebe Grüße,

            Felix Riesterer.

            --
            ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
  4. Hallo matze,

    wo liegt denn dein Problem?

    Hier Geradengleichung

    oder hier http://de.selfhtml.org/javascript/objekte/array.htm@title=Array

    Gruß, Jürgen

    1. naja das problem liegt darin eine vorgegebene linie (ggf. auch bogen)per punkt abzulaufen. und da reicht mir keine geraden gleichung.

      also um es genau zu erklären will ich ein objekt darstellen welches den kurs der in ein array geprinted wurde abläuft. und möglichst eben nicht als gerade, da das einfach mal klotzig aussieht. ^^

      mfg und danke für die mühe =)

      1. Hi,

        naja das problem liegt darin eine vorgegebene linie (ggf. auch bogen)per punkt abzulaufen. und da reicht mir keine geraden gleichung.
        also um es genau zu erklären will ich ein objekt darstellen welches den kurs der in ein array geprinted wurde abläuft. und möglichst eben nicht als gerade, da das einfach mal klotzig aussieht.

        und eben dachte ich noch, ich hätte verstanden, was du machen willst.
        Jetzt bin ich mit meinem Verständnis wieder ganz am Anfang.

        Du hast also bereits die Liste der Punkte?? Was brauchst du denn dann noch?

        Ciao,
         Martin

        --
        why the heck do you jerk think, that wir ein doppelposting nicht bemerken, wenn you zwischendurch the sprache wechselst?
          (wahsaga)
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. also mal zur genauen erklärung: der user soll mit der maus auf unserem canvas eine linie ziehen können, welche aber nicht sichtbar ist. und iczh will diese freie linie danach mit einem punkt ablaufen. aber eben erst danach und nicht mit nem mauszeiger follow oder so. meine idee war nun, dass die linie die ich mit der maus zeichne ihr koordinaten in einem array hinterlegt und dann der punkt die argumente des arrays nach und nach abarbeitet. ^^

      2. Hallo matze,

        jetzt weiß ich noch weniger, wo dein Problem ist:

        Suchst du die Punkte, die du abfahren möchtest?
        Dazu benötigst du irgendeine Gleichung, um die Wertepaare (x,y) zu berechnen. Das kann eine der Geradengleichungen sein, das kann aber auch irgendein Interpolationsalgorithmus sein.

        Hast du die Punkte schon, weißt aber nicht, wie sie in einem Array abgespeichert werden?
        Siehe meinen Link.

        Suchst du danach, wie man "Abfährt"?
        Hierzu oder auch überhaupt solltest du mal genau beschreiben, was du machen willst.

        Gruß, Jürgen

  5. Du suchst wahrscheinlich Rasterung von Linien

    PS: Ich habe nicht den gesamten Thread gelesen, falls wer schon vergleichbares gepostet hat, sei es so.)