AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eine Art 'Ballwurf' simulieren

Ein Thema von Nils_13 · begonnen am 3. Jan 2006 · letzter Beitrag vom 6. Jan 2006
Antwort Antwort
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

Eine Art 'Ballwurf' simulieren

  Alt 3. Jan 2006, 11:29
Hi,

ich arbeite mommentan an einem kleinen Spielchen.

Wie berechne ich die Wurfbahn in Bezug auf den Winkel und wie stelle ich das ganze dar ?
Miniaturansicht angehängter Grafiken
ballwurf_144.png  
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Eine Art 'Ballwurf' simulieren

  Alt 3. Jan 2006, 11:32
Moin, nutze bitte erst die Suche: Hier im Forum suchenflugbahn, das hatten wir schon.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#3

Re: Eine Art 'Ballwurf' simulieren

  Alt 6. Jan 2006, 12:04
Hab ja gesucht, aber nichts wirklich brauchbares gefunden.
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#4

Re: Eine Art 'Ballwurf' simulieren

  Alt 6. Jan 2006, 12:08
Also ich hatte da was interessantes gefunden, hat halt nur ein paar Minuten gedauert:
http://www.walter-fendt.de/phys/mech/wurf.pdf

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#5

Re: Eine Art 'Ballwurf' simulieren

  Alt 6. Jan 2006, 12:59
Hab mal eben was zu sammen zusammen gestelt, das ganze gibt bei 45 Grad auch einen ihmo realistischen wurf
Delphi-Quellcode:
var
  wurf:boolean=false;
  xs0,ys0,xs,ys:double;
  g:double=9.81;
  v,w,t,ymax:double;

uses math;

function sinus(angle: Real): Real;
begin
  result := sin(Pi*angle/180);
end;

function cosinus(angle: Real): Real;
begin
  result := cos(Pi*angle/180);
end;

procedure setup;
begin
  v:=strtofloat(edit1.Text);// geschwindigkeit
  w:=strtofloat(edit2.Text);// winkel in grad
  xs0:=v*cosinus(w);
  ys0:=v*sinus(w);
  ymax:=0.5*g*sqr( (v*sinus(w))/g );
  t:=0;
  wurf:=true;
end;

// deltaTime = Zeit die seit dem letzten zeichnen vergangen ist
procedure draw( const deltaTime: double);
begin
  if not wurf then exit;
  t:= t + deltaTime;
  ys:=ys0*t-0.5*g*sqr(t);
  xs:=t*v;
  // mit ys und xs zeichnen
end;
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#6

Re: Eine Art 'Ballwurf' simulieren

  Alt 6. Jan 2006, 17:53
t:= t + deltaTime; Inkompatible Typen
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Eine Art 'Ballwurf' simulieren

  Alt 6. Jan 2006, 17:57
http://www.dsdt.info/grundlagen/sprache/prozfunk.php

Von welchem Typ ist deltaTime bei dir?
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#8

Re: Eine Art 'Ballwurf' simulieren

  Alt 6. Jan 2006, 17:58
Zitat von Nils_13:
t:= t + deltaTime; Inkompatible Typen
Moment, deltaTime hat gar keinen Typ
im Funktionskopf const deltaTime: single nehmen könnte helfen, damit der Compiler auch weiß, dass da eine Gleitkommazahl mitkommt.

greetz
Mike

[Edit]@faux: Bei call-by-reference muss man dem Parameter nicht zwangsweise einen Typ mitgeben, was ein paar Overloads sparen lässt und bei Verwendung von Puffern sehr sinnvoll sein kann.
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Eine Art 'Ballwurf' simulieren

  Alt 6. Jan 2006, 18:04
Zitat von Chimaira:
[Edit]@faux: Bei call-by-reference muss man dem Parameter nicht zwangsweise einen Typ mitgeben, was ein paar Overloads sparen lässt und bei Verwendung von Puffern sehr sinnvoll sein kann.
Jaja, schon klar, nur muss man dann (in Nils' Fall zumindest) die Variable per Casting anpassen.

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#10

Re: Eine Art 'Ballwurf' simulieren

  Alt 6. Jan 2006, 18:11
Zitat von Nils_13:
t:= t + deltaTime; Inkompatible Typen
Oh tut mir leid etws zu viel abgeschnitten deltaTime muss double oder singel sein
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz