Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657

    Distanza tra 2 punti [seconda parte]

    http://forum.html.it/forum/showthrea...ass+coordinate

    Avevo accantonato un po' la cosa e ora mi serve seriamente questo codice ke tu stesso mi avevi scritto...

    Codice PHP:
          $coordinate=new coordinate(5,5,20,20);
          
    $coordinate->tempo=180;
          for (
    $i=0;$i<=180;$i=$i+10){
        list(
    $xm,$ym) = $coordinate->parziali($i);
        echo 
    "
    Xm 
    $xm - Ym $ym";
          } 
    in poke parole questo script va dal punto A(5,5) al punto B(20,20) in un lasso di tempo di 180 secondi (3 minuti). Naturalmente la cosa viene accelerata da un ciclo e così via... Ora smanettandoci di nuovo mi sn accorto ke quando il punto viene raggiunto, le nuove coordinate non si fermano, ma vanno avanti...vi faccio vedere l'output di un altro codice:

    Codice PHP:
          $coordinate->tempo=100;
          for (
    $i=0;$i<=180;$i=$i+10){
        list(
    $xm,$ym) = $coordinate->parziali($i);
        echo 
    "
    Xm 
    $xm - Ym $ym";
          } 
    io in questo codice analizzo l'andazzo del punto A ke si avvinica a B in 100 secondi. Ma superati i 100 secondi, il punto A supera B. Ecco l'output:

    Xm 5 - Ym 5
    Xm 6.5 - Ym 6.5
    Xm 8 - Ym 8
    Xm 9.5 - Ym 9.5
    Xm 11 - Ym 11
    Xm 12.5 - Ym 12.5
    Xm 14 - Ym 14
    Xm 15.5 - Ym 15.5
    Xm 17 - Ym 17
    Xm 18.5 - Ym 18.5
    Xm 20 - Ym 20
    Xm 21.5 - Ym 21.5
    Xm 23 - Ym 23
    Xm 24.5 - Ym 24.5
    Xm 26 - Ym 26
    Xm 27.5 - Ym 27.5
    Xm 29 - Ym 29
    Xm 30.5 - Ym 30.5
    Xm 32 - Ym 32
    la riga in corsivo è il punto limite, cioè dove A si doveva fermare, ma come vedi (tutte le scritte in neretto) tutto va avanti sino a un punto C(32,32)...

    Ora vi vorrei dire come faccio a bloccare A in B anche se lo analizzo in un tempo superiore (come nell'esempio)?

    Grazie anticipatamente

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    cambia il for con questo:
    codice:
    for ($i=0; $i<=$coordinate->tempo; $i=$i+10){

    think simple think ringo

  3. #3
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    [supersaibal]Originariamente inviato da marketto
    cambia il for con questo:
    codice:
    for ($i=0; $i<=$coordinate->tempo; $i=$i+10){

    [/supersaibal]
    ma questo è un esempio x testare lo script...ma quando io lo dovrò usare allo scopo il preleverò le coordinate ogn 5 minuti (x esempio). E quindi se nel precedente instante manca 0,1 unità x arrivare al punto B, al prossimo istante lo avrò superato :master: . Non so se sn stato kiaro

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    [supersaibal]Originariamente inviato da FinalFantasy
    ma questo è un esempio x testare lo script...ma quando io lo dovrò usare allo scopo il preleverò le coordinate ogn 5 minuti (x esempio). E quindi se nel precedente instante manca 0,1 unità x arrivare al punto B, al prossimo istante lo avrò superato :master: . Non so se sn stato kiaro [/supersaibal]
    no




    il tempo viene espresso in secondi, il passo del ciclo for può anch'esso essere in secondi (ora è 10)...
    think simple think ringo

  5. #5
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    Dunque, il problema del primo post è kiaro? Ora: io calcolo le nuove coordinate ogni 5 minuti, mica lo faccio ogni secondo. Quindi, facendo una supposizione, se le coordinate sn
    A(5,5)
    B(50,20)

    quindi A deve avvicinarsi a B. Supponendo ke ad un istante sn arrivato a A(49,19,8), al prossimo istante (fra 5 minuti) io supererò il punto B, andando (x esempio) A(51,20.5). Io vorrei ke quando io arrivo al punto B, A deve fermarsi e nn andare oltre...sn stato kiaro stavolta (io lo spero)?

  6. #6
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    up

  7. #7
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    upp

  8. #8
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657

    in quel codice ho scoperto un bug: sul punto B immaginiamo che ci sia un sistema di assi ke ha come origine B. Se il punto A è nel 3° e 4° quadrante tende ad avvicinarsi (giusto), invece se si trova al 1° quadrante (e forse al 2°) tende ad allontanarsi (sbagliato). Io vorrei ke in tutti i quadranti il punto tenda ad avvicinarsi. x favore aiutatemi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.