[JavaScript] Codefragmente, Bedeutung?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] Codefragmente, Bedeutung?

    Hallo,

    vor einiger Zeit bin ich auf ein Javascript gestoßen, welches Kugeln auf unterschiedlichen Kreisen um einen Mittelpunkt kreisen lässt.
    Da ich mich mit Javascript nicht wirklich auskenne, eine Frage dazu:
    Die Formel an sich ist ja logisch, aber für was steht das "t" am Anfang? Wenn es für zeit steht, wie wird es aufgelöst? Also was für ein Format...? Ich hab viel ausprobiert, aber nichts hat geholfen. -.-


    PHP-Code:
    var phi = (t/((planet_radius[i] * Math.PI)/planet_umlaufzeit[i]) % (2*Math.PI) + (2*Math.PI) ) % (2*Math.PI); 


    Gruss

  • #2


    das ist in erster linie kein mathematischer term, sondern eine zuweisung. was t ist, kannst nur du wissen. schaue, wo es vorher definiert wurde bzw. lass es dir mal mit alert() ausgeben. ich tippe darauf, dass es eine relative zeitangabe in (milli)sekunden sein wird.

    Kommentar


    • #3
      Habs ausprobiert, es kommt eine Uhrzeit im Unix Format dabei heraus.
      (1177755565)

      Allerdings habe ich nirgends die Defination von "t" gefunden, sprich ich war fast der Meinung, dass es mit PHP übergeben wurde.
      Allerdings sollte ich dann ja "t" einfach durch die Zahl ersetzen können, doch dann funktioniert das Script nichtmehr.



      Hier mal das ganze Script:

      PHP-Code:
      <script language="JavaScript">
      fix_x 350;
      fix_y 350;

      // Planeten
      planet_umlaufzeit = new Array(20.25,2.18);
      planet_radius = new Array(50,350);

      function 
      movePlanets(t)
      {
         for (var 
      010i++)
         {
            var 
      planets document.getElementById("p"+i);
            var 
      phi = (t/((planet_radius[i] * Math.PI)/planet_umlaufzeit[i]) % (2*Math.PI) + (2*Math.PI) ) % (2*Math.PI); 
            
            
      planets.style.top  Math.sin(phi)* planet_radius[i] + 350 3;
            
      planets.style.left Math.cos(phi)* planet_radius[i]+350 -3;
            
      alert(t)
         }
      }

      function 
      callMove()
      {
         
      = new Date();
         
         
      movePlanets(n.getTime()/100);
         
      window.setTimeout('callMove();',100);
      }

      window.onload callMove;
      </
      script

      Kommentar


      • #4
        Code:
        function movePlanets(t)
        weißt du, was ein funktionsparameter ist?
        ... ich war fast der Meinung, dass es mit PHP übergeben wurde.
        für solche annahmen unterstelle ich dir ein viel zu geringes grundwissen.
        Allerdings sollte ich dann ja "t" einfach durch die Zahl ersetzen können,
        nein, dann wirds konstant - das ist sogar im sinne der mathematik nicht korrekt.

        was hast du denn damit vor?

        Kommentar


        • #5
          Eigt will ich damit nur rumspielen, und mein kaum vorhandenes Wissen erweitern. "Learning by doing" quasi.

          Danke für den Denkanstoß, den du mir sicherlich nichtmal mit Absicht geben wolltest. ^^


          PHP-Code:
             movePlanets(n.getTime()/100); 
          ...

          Kommentar


          • #6
            Müssten folgende Berechnungen nun nicht gleich sein?


            PHP:
            PHP-Code:
            $zahl 2;
            $array = array("70""250");
              for(
            $count 0$count $zahl$count++)
            {
            $strecke = ((microtime(true)*10)/((2*$array[$count]*pi())/0.32) % (2*pi()) + (2*pi()) ) % (2*pi());

            $y $array[$count]*sin($strecke)+376-3;
            $x $array[$count]*cos($strecke)+376-3;} 

            Javascript:
            PHP-Code:
            <script language='JavaScript'>
            fix_x 376;
            fix_y 376;

            // Planeten
            planet_umlaufzeit = new Array(0.32,0.32);
            planet_radius = new Array(70,250);

            function 
            movePlanets(t)
            {
               for (var 
            02i++)
               {
                  var 
            planets document.getElementById('p'+i);
                  var 
            phi = (t/((planet_radius[i] * Math.PI)/planet_umlaufzeit[i]) % (2*Math.PI) + (2*Math.PI) ) % (2*Math.PI); 
                  
                  
            planets.style.top  Math.sin(phi)* planet_radius[i] + 376 3;
                  
            planets.style.left Math.cos(phi)* planet_radius[i]+376 -3;
               }

            Zuletzt geändert von Philbil; 28.04.2007, 15:03.

            Kommentar

            Lädt...
            X