login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Sinus en Cosinus? (Opgelost)

Offline SvenP - 21/05/2009 15:05 (laatste wijziging 21/05/2009 15:55)
Avatar van SvenPPHP interesse Hallo,

Ik probeer een solar system simulatie te maken dmv gd.
nou heb ik een afbeelding van 600x600, in de midden heb ik een zon geplaatst en er omheen een aantal circles,
Nou wil ik op die circles planeten laten draaien.
1 van die circles is bijvoorbeeld:
  1. imageellipse($im, 300, 300, 75, 75, $col_ellipse);

beginpunt in de midden van de afbeelding met een radius van 75.
Nou wil ik doormiddel van een unix timestamp en een snelheids indicator (nummer in mysql db) bepalen waar de planeet op de circle staat.
Om de positie van de planeet te kunnen bepalen heb ik, voor zover ik weet, sinus en cosinus nodig... nou heb ik daar helemaal geen kaas van gegeten, dus ik vroeg me af of iemand hier mischien een formule voor heeft.

Alvast bedankt,
Sven.


edit:
link
Plaatscode: 136584

5 antwoorden

Gesponsorde links
Offline Sepiroth - 21/05/2009 16:58
Avatar van Sepiroth Nieuw lid dit heb toevallig net gehad met wiskunde 
Ik weet niet of je er wat aan hebt.

hoeksnelheid = (2*pi*r)/omlooptijd
omlooptijd = de tijd die het duurt om de cirkel volledig te doorlopen.

x= r*cos(t*hoeksnelheid)
y= r*sin(t*hoeksnelheid)

r is de straal van de cirkel en t is de verstreken tijd sinds t=0

succes 
Offline SvenP - 21/05/2009 17:47 (laatste wijziging 21/05/2009 17:48)
Avatar van SvenP PHP interesse Lijkt te werken, maar nog niet 100%

  1. $x = ($_GET['t'] * 10);
  2.  
  3. $t = $x;
  4. $r = 100;
  5. $omlooptijd = 86400;
  6. $hoeksnelheid = (2*M_PI*$r)/$omlooptijd;
  7.  
  8. $x = $r*cos($t*$hoeksnelheid) + 300;
  9. $y = $r*sin($t*$hoeksnelheid) + 300;


De +300 is om de goede positie te bepale in me afbeelding..
De omlooptijd is 1 dag in secondes.
Maar als $_GET['t'] op 86 staat, heeftie al 1 rondje gemaakt....
86x10=860.. is niet 86400..

Kan aan mij liggen, maar ik zie de logica hier ff niet in =p
Of ik doe iets compleet fout ;o

Mvg,
sven.
Offline Ultimatum - 21/05/2009 17:51
Avatar van Ultimatum PHP expert
Citaat:
86x10=860.. is niet 86400..

Klopt, maar op regel 6 doe je ook * 100 ($r = 100); dus dan kaom je op 86*10*100 wel dichter bij 86400.
Offline Sepiroth - 21/05/2009 18:08 (laatste wijziging 21/05/2009 18:09)
Avatar van Sepiroth Nieuw lid sorry ik heb een foutje gemaakt 
  1. $hoeksnelheid = (2*M_PI*$r)/$omlooptijd;
  2. // moet dit zijn
  3. $hoeksnelheid = (2*M_PI)/$omlooptijd;


ik denk dat het nu wel werkt want ik heb even 21600 ingevoerd in mijn rekenmachine en ik kreeg de goede coördinaten eruit. 
Offline SvenP - 21/05/2009 18:48
Avatar van SvenP PHP interesse ahh ja, nu wel :-)
heeeeel erg bedankt 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.364s