mit SEHR WENIG rechenkapazität 1d - terrain berechnen



  • hi,

    ich programmiere gerade nen kanonia-klon für den ti-82. in ti-basic. für die physik-stunden zwischendurch. das meiste ist auch fertig, nur brauche ich nen algo der mir das terrain berechnet. und das SCHNELL. schnell berechnen, nicht schnell brauchen )
    ich hatte zwar einen, der ein paar punkte zufällig bestimmt und dann dazwischen interpoliert hat, allerdings war er saumäßig langsam und ... einer kürzlichen "formatierung" zum opfer gefallen.
    fazit: ich brauche etwas, was möglichst die internen rechnerfunktionen ausnutzt (da die ja in assembler sind und einen leichten geschwindigkeitsvorteil zum laufzeitinterpretierten basic haben.) und ganz toll aussieht.

    (eine kleine geschwindigkeits-probe: ne for-schleife von 1 bis 1000 braucht 2-3 sekunden)

    bin dankbar für alle tips.



  • Was ist denn bitte ein 1D-Terrain??



  • ich schätze mal du solltest die rekursive funktion von vorher in eine summenformel stecken, dann hast du in etwa deine terrainfunktion. aber ich bezweifle ein wenig ob das schneller wird.

    zudem solltest du versuchen immer mit float zu rechnen (also lieber 1. statt 1 schreiben), weil der ti bei ganzen zahlen noch ne ganze menge dinge mit sich schleppt.
    ob das geschwindigkeitsvorteile bringt kannst du testen indem du, bevor du auf enter klickst, erstmal die grüne-sterntaste drückst, dann rechnet der standartmässig erstmal float.

    rapso->greets();



  • Rapso, gibt's eigentlich irgendein Gerät auf Gottes Erde, daß Du noch nicht verprogrammiert hast...?!?!?! 😮 😕 😃 👍

    "Der is' schon alles gefahren was Räder hat."

    "Der hat schon alles programmiert was ICs hat." 😋



  • so, ich hab' mich jetzt mal angemeldet.

    also, erstmal danke für die antworten.

    unter "1d-terrain" verstehe ich einen schnitt durch ein "2d-terrain" 😃
    oder, anders ausgedrückt, ein eindimensionales array mit höhenwerten, die als "landschaft von der seite" durchgehen.

    @rapso:
    ich glaube, du hattest nen anderen ti.
    ich hab den hier-: klick
    also, weder grüne taste, noch rekursive funktionen.

    ideal wär natürlich, ne funktion 4. oder 5. grades zu haben, die können ziemlich schnell berechnet werden. da ist aber die schwierigkeit, dass sie in einem bestimmten bereich nur begrenzte werte annimt...

    jetzt versuche ich erstmal den einfachsten fraktal-terrain-typ, mal gucken wie's wird.

    und bin immer noch dankbar für weitere geniale ideen.



  • doppelmuffe schrieb:

    unter "1d-terrain" verstehe ich einen schnitt durch ein "2d-terrain" 😃
    oder, anders ausgedrückt, ein eindimensionales array mit höhenwerten, die als "landschaft von der seite" durchgehen.

    also meinst du das, was der gemeine gossenbewohner als "profil" bezeichnen würde? 😕



  • oder, anders ausgedrückt, ein eindimensionales array mit höhenwerten, die als "landschaft von der seite" durchgehen.

    also hast du zwei Dimensionen ;//



  • Sgt. Nukem schrieb:

    Rapso, gibt's eigentlich irgendein Gerät auf Gottes Erde, daß Du noch nicht verprogrammiert hast...?!?!?! 😮 😕 😃 👍

    falls dem so sein sollte, dann informier mich und ich besorg mir das teil und code es 😉

    also den gp32, nintendoDS,PSP, GC und einige gescheiterte existenzen hab ich noch nicht gehabt.

    @doppelmuffe:
    meiner, da gibbed so ne diamant bzw grüne taste.

    fraktale terrains werden meißt über rekursive funktionen gemacht. diese kann man eventuell auch auf summenfunktionen umschreiben.

    du könntest alternativ auch nur z.b. alle 5 oder 10 pixel einen punkt ausrechnen und dazwischen eine linie zeichnen. das sollte auch recht fix sein und nicht sonderlich auffallen.

    kann man auf dem teil auch c oder assembler abfahren lassen? ich zweifel ma dran.. hmmm...

    rapso->greets();

    ps. mein ti-89 war nicht meine idee, ich hab den fürs abi gebraucht. wir waren ne prototypenschule für solcke rechner. aber damals gab's nur ein teuers c sdk von TI.. heute gibt's das zum dl mit IDE und emulatoren soweit ich weiß.



  • Ich hab von TI ja das super noble Modell Voyage200 🙂

    Wo findet man, denn Infos zu dem TI Basic und der API?



  • steht alles eigentlich im handbuch erklärt.

    rapso->greets();


Anmelden zum Antworten