Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420

    [java] muovi in direzione di

    ragazzi devo creare un gioco che mi simuli una situazione di questo tipo:
    se io ho un tavolo da biliardo (simulato) in cui voglio tirare il pallino IN DIREZIONE DELLA 8 ad esempio, come faccio a sapere la direzione esatta del punto in cui si trova la 8 rispetto al pallino?
    Esiste una formula matematica che posso usare x risolvere questo problema?
    the sALIEN

  2. #2
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    ti calcoli le coordinate dei due punti che rappresentano la biglia e il pallino, poi usi l'equazione della retta passante per 2 punti...
    penso che si possa fare cosi...
    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    uhm...
    boh! ora provo x vedere se fa..
    grazie cmq
    the sALIEN

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    in pratica dovrei trovare i parametri direttori della retta? e questi sarebbero le direzioni.. cosi?
    the sALIEN

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Hai alcune strade da poter percorrere:

    codice:
     I) ax + by + c = 0
    II) y = mx + q
    Considerando la seconda, hai il problema delle rette parallele all'asse y (m infinito, e a te interessa proprio il coefficiente angolare m).

    codice:
    Soluzioni:
    
    Pallino P : (xP, yP)
    Palla8   N: (xN, yN).
    
    1) verifico caso retta // asse y:
      |
      +---> xP = xN (hanno la stessa ascissa) --> m infinito
    
    2) se non caso 1 calcolo m
      |
      +---> m = (yN - yP)/(xN - xP)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    ok.. grazie 1000

    sapreste dirmi se trovare i parametri direttori è la stessa cosa?
    the sALIEN

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    forse mi son sbagliato... mi sa che serve proprio l'eq della retta..
    the sALIEN

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    questo è ciò che ho fatto.. solo che non funziona.. mi da numeri elevatissimi
    codice:
    import java.util.*;
    
    /**
     * Classe con funzioni matematiche
     * 
     * 
     */
    public class Matematica
    {
        
        private int risultatoX;
        private int risultatoY;
    
    
        //Costruttore degli oggetti di classe  Matematica
        
        public Matematica()
        {
            
        }
    
      
        public void setEquazione(int x0, int y0, int x1, int y1)
        {
            int x = 1;
            int y = 1;
            
            risultatoX = (y1 - y0)*(x + x0);
            risultatoY = (x1 - x0)*(y + y0);
               
        }
        
        
         
        public int getRisultatoX ()
        {
            return risultatoX;
        }
        
       
        public int getRisultatoY ()
        {
            return risultatoY;
        }
        
    }
    the sALIEN

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Qualcosa del genere?
    codice:
    class punto {
    
      private double x,y;
    
      punto(double x, double y) {
        this.x = x;
        this.y = y;
      }
    
      public punto where() {
        return this;
      }
    
      public double whereX() {
        return x;
      }
    
      public double whereY() {
        return y;
      }
    }
    
    class matematicaDaBiliardo {
    
      public static Double m(Palla a, Palla b) {
        return new Double ((a.whereY()-b.whereY())/(a.whereX()-b.whereX()));
      }
    
    }
    
    public class Palla extends punto {
    
      private String nome;
      public Palla(double x, double y, String nome) {
        super (x,y);
        this.nome = nome;
      }
      
      public String toString() {
        return nome;
      }
    
      public static void main (String[] args) {
        Palla Bianca = new Palla (10, 10, "Bianca");
        Palla Otto = new Palla (10, 20, "Otto");
        Palla Tre = new Palla (15, 20, "Tre");
        Palla Due = new Palla (15, 15, "Due");
        System.out.println(Bianca+" - "+Otto+": "+matematicaDaBiliardo.m(Bianca, Otto));
        System.out.println(Otto+" - "+Tre+": "+matematicaDaBiliardo.m(Otto, Tre));
        System.out.println(Tre+" - "+Due+": "+matematicaDaBiliardo.m(Tre, Due));
        System.out.println(Otto+" - "+Due+": "+matematicaDaBiliardo.m(Otto, Due));
      }
    }
    Stamperà i coefficienti angolari delle rette per i due punti.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    io sto implementando il movimento in questo modo:

    ho la posizione di partenza x0,y0 e devo andare verso x1,y1..
    ad ogni intervallo del timer io mi voglio spostare verso x1,y1.
    ora provo a vedere se va bene il codice cha mi hai postato x fare questo tipo di cosa che ti ho detto..
    cmq io ci sono riuscito a farlo anche se non è tanto bello..
    the sALIEN

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.