Golf-Flugbahn berechnen (C++)

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Norfi, 10. September 2008 .

Schlagworte:
  1. 10. September 2008
    hihi
    ich steh vor folgendem problem:
    ich bin noch ein ziemlicher anfänger in sachen programmieren und stehe jetzt vor einer (für mich) riesen problematik.
    also die sache ist, ich soll berechnen ob ein golfball das loch trifft wenn ich die abschlagsgeschwindigkeit, die entfernung zwischen abschlag und loch und den abschlagwinkel eingebe.
    die formel, ob der ball das locht trifft ist glaub ich "x(t) = v * cos (alpha) * t"
    v=geschwindigkeit; t=zeit
    sooo jetzt weiß ich ja im vorhinein nicht, ob der ball nun 5sekunden oder vllt 10sekunden fliegt, also muss t=0.1 anfangs sein und das muss ich dann mit einer for schleife im 0.1 takt hochschrauben, oder?!?!?!
    und dann hab ich noch ein problem: wenn die entfernung z.b. 100m ist und aus meiner berechnung kommt 9,7778 raus - dann hat der ball das loch ja eigentlich nicht getroffen!? kann ich da irgendwie sagen plus-minus 2%? wohl eher nicht, weil ich die entfernung ja mit int deklarieren muss, oder?
    außerdem kenn ich die math.h befehle nicht wirklich <.<
    reibung, luftwiderstand usw. soll nicht berücksichtigt werden. der ball soll ich nicht wieder aufhüpfen etc.
    hm das ist glaub ich alles. ich hoffe ihr könnt mir helfen.
    Norfi
     
  2. 10. September 2008
    AW: Golf-Flugbahn berechnen (C++)

    kommt mir irgendwie bekannt vor {bild-down: http://ugly.plzdiekthxbye.net/small/s452.png}



    schließe mich der suche an
     
  3. 10. September 2008
    AW: Golf-Flugbahn berechnen (C++)

    hier mal ne tolle erklärung auch wenns nur mit flash code ist ist die schriftliche erklärunge und der code doch so leichte das er dich viel weiter brigen wird:

    H.G.Seib

    und dann links oben auf "original" oder "skaliert" drücken!

    Bei spezioellen fragen zu code kann ich auch versuchen dir den in pseudo code umzusetzen!

    //hier nochmal ne allgemeine beschreibung und diskusion:
    an alle Mathematiker und Zirkel: hilfe! - Flashforum

    Knusperkeks
     
  4. 10. September 2008
    AW: Golf-Flugbahn berechnen (C++)

    also hab mal mein Physik heft aufgeschlagen.

    Aus deinem Text kann man leider nicht entnehmen ob du den Golfball fliegen lassen willst oder nur berechnen ob er ins Loch kommt !

    Wenn du es nur berechnen willst dann reicht die Formel:

    s = (Vo² * sin 2alpha) / g

    also setzt du einfach deine gegebene Anfangsgeschwindigkeit Vo ein und dein gegebenes Alpha, g ist natürlich 9,81
    dann vergleichste das Ergebnis s mit deinem gegebenen Abstand und dann siehste ob man reintrifft oder nicht
    die Zeit braucht man also überhaupt nicht es sei denn du willst den Flug grafisch anzeigen lasse

    warum musst du die Entfernung mit int deklarieren ? Die Entfernung ist doch Variabel oder nicht ??
    dann machste halt einfach ne if-abfrage

    achja das mit math.h
    cmath (math.h) - C++ Reference
    und pass mit dem Winkel auf ist glaub in RADIAN anzugeben und nicht in DEGREE
     
  5. 10. September 2008
    AW: Golf-Flugbahn berechnen (C++)

    ja ich habs wahrscheinlich nen bisschen zu kompliziert erklärt.

    das programm soll mir (nach eingabe von der geschwindigkeit, dem winkel und der entfernung vom loch) sagen, ob der ball ins loch gekommen ist, oder eben auch nicht.

    und das mit plus-minus 2% hab ich schon hinbekommen...
     
  6. 10. September 2008
    AW: Golf-Flugbahn berechnen (C++)

    dann gehts ja mit der formel von oben ^^
     
  7. 10. September 2008
    AW: Golf-Flugbahn berechnen (C++)

    nur, dass ich t nicht kenne und ich es nicht einfach nach t umstellen kann, weil ich ja auch x nicht habe <____<
     
  8. 10. September 2008
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    AW: Golf-Flugbahn berechnen (C++)

    also soweit ich das verstanden habe berechnet dir deine funktion x(t) die luftlinienentfernung, die ein ball oder sonstwas innerhalb einer bestimmten zeit t mit einem bestimmten winkel zurücklegt.

    jedoch nicht, wann er wieder zu boden fällt

    zur verdeutlichung:
    j5koat.jpg
    {img-src: //i33.tinypic.com/j5koat.jpg}

    edit [s* cos alpha = d] im weiteren text

    deine funktion berechnet also nichts andres als v*t * cos alpha = s* cos alpha = d = x(t) (die vom ball zurückgelegte distanz auf den boden projeziert, in abhängigkeit der zeit). da nach deiner gleichung der ball jedoch nie auf dem boden ankommt ist die antwort nein der ball trifft das loch nicht^^

    und umstellen lässt sich das ja auch recht leicht, da x ja keine variable ist sondern x(t) eine funktion ist und ihr funktionswert genannt werden kann wie du willst [ x(t) = d] hab ichs nun genannt

    t = d / (v*t*cos alpha)

    damit kannst du berechnen wieviel zeit der ball braucht bis er eine bestimmte distanz überbrückt hat mit einem bestimmten winkel, jedoch nicht ob er das loch trifft^^

    entweder ist deine aufgabenstellung falsch oder die formel ist schlicht falsch

    edit: weiss nicht ob all4ones berechnung richtiger ist, aber rein prinzipiell könntest dus mal mit seiner formel versuchen da kommt auch kein t mehr drin vor... solltest genauer lesen
     
  9. 10. September 2008
    AW: Golf-Flugbahn berechnen (C++)

    Also...

    allg Formel der Flugparabel

    y = tan alpha * x - (g/(2*v0²*cos² alpha)) * x²

    Wurfweite:

    s = ( v0²*sin (2*alpha) ) / g

    Steigzeit:

    t = (v0 * sin alpha) / g


    x ... Weg in x-Richtung
    y ... Weg in y-Richtung
    v ... Geschwindigkeit
    v0 ... Anfangsgeschwindigkeit
    g ... Fallbeschleunigung
    t ... Zeit
    alpha ... Abwurfwinkel

    geschwindigkeiten stets in m/s
    g in m/s²

    viel spaß
     
  10. 10. September 2008
    AW: Golf-Flugbahn berechnen (C++)

    !google ballistische kurve
    !google wurfparabel
     
  11. 10. September 2008
    AW: Golf-Flugbahn berechnen (C++)

    warum willst du denn immer was mit der zeit t wissen die hast du doch net geben und brauchst sie nicht zur Berechnung der Flugweite!

    icq-light hat ja auch die gleiche Formel
     
  12. 17. September 2008
    AW: Golf-Flugbahn berechnen (C++)

    Mir sind ein paar dinge aufgefallen beim lesen..

    blöde frage..: um welches golf geht es? minigolf oder richtig golf(was ich eher glaube^^).

    denn bei minigolf brauch man ja kein winkel^^.

    Aber bei richtig golf. fliegt er ja und trifft dann den boden..d.h. er rollt weiter. (ich glaub nicht, das er das loch haargenau trifft) und kommt noch drauf an welche geschw er hat, weil er sonst über das loch rollt^^.(das er da springt ist ja egal)

    und ne zeit braucht man ja nicht...denn es soll ja nur die wurfparabel berechnet werden+den weg der danach folgt.

    du kannst ja in ner abfrage drin haben, dass die geschw. kleiner eines gewissen wertes haben muss..damit er nicht drüber rollt^^

    also.:

    Gesamtweg=flugbahn+rollweg(meinetwegen mit reibung[den Faktor musste selbst aus suchen, kann man ja dann defenieren])

    Vllt denk ich auch chon zu kompliziert^^.aber naja..vllt sind ein paar gute ideen dabei^^

    MfG Ch@oOos
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.