Shapes berechnen lassen

    • GM 8

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Shapes berechnen lassen

      Hey ihr Experten ;),

      ich suche nach einem einfachen Weg SHAPES ZU BERECHNEN also wie und wo der nächste punkt hinkommen müsste um bei einer festen max. Größe das Ziel zu erreichen.
      Gehen wir von einem 60x60 mit 8 zwischen punkten aus (ab von den festen):


      Ich suche nach einem Programm das einen die Berechnung abnimmt und einfach die nötigen Koordinaten ausspuckt /anzeigt.
      (Ich will halt einfach Zeit sparen) ^^
    • Die Shape soll ein Vieleck sein oder? Also die Berechnung eines beliebigen Vierecks läuft so ab:

      GML-Quellcode

      1. 1/2*((x1-x2)*(y1+y2) + (x2-x3)*(y2+y3) + (x3-x1)*(y3-y1) = Flächeninhalt

      Die Koordinaten werden gegen den Uhrzeigersinn eingegeben.
      Spoiler anzeigen

      Soo...umgeformt für den Flächeninhalt als Angabe könnte das theoretisch so aussehen

      GML-Quellcode

      1. breite = 60
      2. höhe = 60
      3. eckpunkte = 8
      4. x1 = breite/eckpunkte
      5. x2 = breite/eckpunkte-x1
      6. x3 = breite/eckpunkte -x1-x2
      7. etc
      8. y1 = höhe/eckpunkte
      9. y2 = höhe/eckpunkte -y1
      10. etc
      11. breite*höhe = (x1-x2)*(y1-y2) + (x2-x3)*(y2-y3) etc + (x8 - x1)*(y8-y1)
      12. draw_line(x1,y1,x2,y2)
      13. draw_line(x2,y2,x3,y3)
      14. draw_line(x3,y3,x4,y4)
      Alles anzeigen



      So, habs getestet und so sieht der Code immo aus:

      GML-Quellcode

      1. breite = 60
      2. hohe = 60
      3. eckpunkte = 3//statt 3 wasl (eckpunkte -1), dann gehts auch mit 8
      4. ix1 = breite/3
      5. ix2 = breite/2 -ix1
      6. ix3 = breite/1 -ix1
      7. iy1 = hohe/3
      8. iy2 = hohe/2
      9. iy3 = hohe/1
      10. inhalt = (ix1-ix2)*(iy1-iy2) + (ix2-ix3)*(iy2-iy3) + (ix3-ix1)*(iy3-iy1)
      11. draw_set_color(c_red)
      12. draw_line(x+ix1,y+iy1,x+ix2,y+iy2)
      13. draw_line(x+ix2,y+iy2,x+ix3,y+iy3)
      14. draw_line(x+ix3,y+iy3,x+ix1,y+iy1)
      15. draw_text(x,y,inhalt)
      Alles anzeigen


      für mehr punkte musst du wasl was mit do until oder if schleifen machen, damit er mit den Punkten variabler ist.
      Wo willst du sowas eigtl anwenden?

      ancient-pixel.com
      youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Aku_Ryou ()