Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405

    Simulare palla che rimbalza

    Ragazzi avrei bisogno di una mano, sto cercando di realizzare il moto di una palla che una volta sparata rimbalzi quando incontra un'ostacolo.
    Supponiamo l'ipotesi più semplice ovvero quando la palla tocca terra, come mi devo comportare?
    Vi spiego, io ho calcolato le coordinate del centro della palla con le leggi orarie del moto accelerato(per la Vy) e uniforme (per la Vx).
    Il comportamento della palla è ok finchè sta in aria, ma quando tocca terra cosa deve succedere per il rimbalzo?
    Io ho ipotizzato che la nuova posizione di partenza sia il suolo, ho azzerato il tempo e dato alla Vy il valore cambiato di segno che aveva al momento dell'impatto, ma sembra non funzionare... forse per il modo in cui sento la collisione.
    Cioè diciamo che io ad ogni ciclo controllo se la posizione attuale(del centro) è sopra o sotto il suolo,ma la palla in un ciclo si sposta abbastanza velocemnte e quindi quando la ricontrollo può darsi che sia sotto il suolo...come posso fare?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Con quale linguaggio? O è indifferente?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405
    indifferente, mi serve il metodo da usare

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Non puoi calcolarti a priori il tempo all'impatto?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405
    Certo, ma quele vantaggio mi darebbe?

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Se sei costretto per qualche motivo a fare un campionamento costante (ossia, osservi la palla ogni tot tempo stabilito), puoi determinare in quale istante la palla abbia fatto l'inversione di marcia... altrimenti, puoi semplicemente stabilire che vuoi fare x osservazioni per ogni direzione, in cui la prima e l'ultima siano sempre i momenti in cui la palla si ferma.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405
    Il fatto è questo lo posso fare nel caso semplice in cui l'impatto è con il suolo, ma voglio fare una cosa più generica, dove la palla può impattare anche con un piano obliquo.

  8. #8
    In questo caso dovrai calcolarti l'intersezione tra il piano di rimbalzo con la retta del moto del centro e da qui a calcolarti la lunghezza del segmento tra centro della palla e il piano e il tempo di impatto il passo è breve .

  9. #9
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405
    Ho risolto ricalcolandomi ongi volta l'angolo di uscita in, base a quello d'impatto e a quello del piano su cui impatta, ed il modulo del vettore velocità.
    In questo modo riesco a ricalcolarmi con precisione ogni componente della velocità di lancio(rimbalzo).
    Ora mi rimane da trovare un buon metodo per sapere quando c'è una collsione, cm posso fare?

    Non ho detto che mi trovo in uno spazio 3D, quindi non ho solo X e Y ma anche Z.

  10. #10
    non so che grado di approssimazione ti serve, cmq il problema non è del tutto banale se lo vuoi considerare con una certa rigorosità.

    se consideri per semplicità che il piano di impatto è orizzontale, hai un sistema almeno del 2 ordine, cioè in 2 variabili indipendenti che sono posizione iniziale della palla e velocità iniziale.

    il sistema, se non sbaglio, non è nemmeno lineare quindi non lo puoi rappresentare tramite funzione di "trasferimento" ma devi rappresentarlo in base alla sua funzione di stato.

    credo che quento è un approccio abbastanza rigoroso, poi dipende da cosa ti serve.

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.