Domanda

Qualcuno ha buoni riferimenti per equazioni che possono essere implementate relativamente facilmente per come calcolare il trasferimento del momento angolare tra due corpi rigidi?

Sto cercando questo genere di cose da un po 'di tempo e non ho trovato spiegazioni particolarmente comprensibili del problema.

Per essere precisi, la domanda nasce come questa; due corpi rigidi si muovono su una superficie senza attrito (bene, quasi); pensalo come air hockey. I due corpi rigidi entrano in contatto, quindi si allontanano. Ora, senza considerare il momento angolare, le equazioni sono relativamente semplici; il problema diventa, cosa succede con il trasferimento del momento angolare tra i corpi?

Ad esempio, supponiamo che i due corpi non abbiano alcun momento angolare; non stanno ruotando. Quando interagiscono ad un angolo obliquo (il vettore di viaggio non si allinea con la linea dei loro centri di massa), ovviamente una certa quantità del loro momento viene trasferita nel momento angolare (cioè ciascuno di essi riceve una certa quantità di rotazione), ma come molto e quali sono le equazioni per tale?

Questo può probabilmente essere risolto usando un sistema rigido a molti corpi per calcolare, ma voglio ottenere un calcolo molto più ottimizzato, in modo da poter calcolare queste cose in tempo reale. Qualcuno ha qualche idea sulle equazioni o suggerimenti per implementazioni open source di questi calcoli per l'inclusione in un progetto? Per essere precisi, ho bisogno che questo sia un calcolo piuttosto ben ottimizzato, a causa del numero di interazioni che devono essere simulate all'interno di un singolo "tick". della simulazione.

Modifica: Okay, sembra che non ci siano molte informazioni precise su questo argomento. E trovo la "quotazione fisica per programmatori" tipo di libri per essere un po 'troppo ... scemo per ottenere davvero; Non voglio l'implementazione del codice di un algoritmo; Voglio capire (o almeno averlo abbozzato per me) l'algoritmo. Solo in questo modo posso ottimizzarlo correttamente per le mie esigenze. Qualcuno ha riferimenti matematici su questo tipo di argomento?

È stato utile?

Soluzione

Se sei interessato alla rotazione di corpi non sferici, http://www.myphysicslab.com /collision.html mostra come farlo. L'asimmetria dei corpi significa che la normale forza di contatto durante la collisione può creare una coppia attorno ai rispettivi CG, e quindi far iniziare a girare i corpi.

Nel caso di una palla da biliardo o di un disco da air hockey, le cose sono un po 'più sottili. Poiché il corpo è sferico / circolare, la forza normale passa sempre attraverso il CG, quindi non c'è coppia. Tuttavia, la forza normale non è l'unica forza. C'è anche una forza di attrito tangente alla normale del contatto che creerà una coppia attorno al CG. L'entità della forza di attrito è proporzionale alla forza normale e al coefficiente di attrito e opposta alla direzione del moto relativo. La sua direzione si oppone al moto relativo degli oggetti nel loro punto di contatto.

Altri suggerimenti

Bene, il mio libro di fisica preferito è Halliday e Resnick . Non ho mai avuto la sensazione che quel libro mi stordisse qualcosa (il muto è dentro il cranio, non sulla pagina ...).

Se si imposta un problema di pensiero, è possibile iniziare a farsi un'idea di come andrebbe a finire.

Immagina che i tuoi due dischi rigidi di air hockey siano senza attrito sul fondo ma abbiano un coefficiente di attrito massimo attorno ai bordi. Chiaramente, se i due dischi si dirigono l'uno verso l'altro con identica energia cinetica, si scontreranno perfettamente elasticamente e torneranno indietro in direzioni opposte.

Tuttavia, se i loro centri sono sfalsati di 2 * raggio - epsilon, si toccheranno appena in un punto del perimetro. Se avessero un coefficiente di attrito incredibilmente alto attorno al bordo, puoi immaginare che tutta la loro energia sarebbe trasferita in rotazione. Dovrebbe esserci una separazione dopo l'impatto, ovviamente, altrimenti si fermerebbero immediatamente alle loro stesse rotazioni mentre si incastrano insieme.

Quindi, se stai solo cercando qualcosa di plausibile e interessante (fisica del gioco dell'ala), direi che potresti normalizzare il coefficiente di attrito per tenere conto della piccola area di contatto tra i due corpi (scegli qualcosa che sembra interessante) e usa il peccato dell'angolo tra il percorso dei corpi e il punto di impatto. Direttamente, otterresti un rimbalzo, 45 gradi ti darebbero rimbalzo e rotazione, un offset di 90 gradi ti darebbe il massimo giro e il minimo rimbalzo.

Ovviamente, nessuna delle precedenti è una simulazione accurata. Tuttavia, dovrebbe essere un framework abbastanza semplice da causare comportamenti interessanti.

EDIT: Okay, ho trovato un altro esempio interessante che forse è più eloquente.

Immagina un singolo disco (come sopra) che si sposta verso una punta del perno immobile, rigida, quasi unidimensionale che fornisce il precedente attrito elevato ma bassa viscosità. Se il disco passa a una distanza che bacia solo il bordo, puoi immaginare che una frazione della sua energia lineare verrà convertita in energia rotazionale.

Tuttavia, una cosa che sai per certo è che c'è una massima energia di rotazione dopo questo tocco: il disco non può finire a girare a una velocità tale che il suo bordo esterno si sta muovendo a una velocità superiore alla velocità lineare originale. Quindi, se il disco si muoveva a un metro al secondo, non può finire in una situazione in cui il suo bordo esterno si muove a più di un metro al secondo.

Quindi, ora che abbiamo un lungo saggio, ci sono alcuni concetti semplici che dovrebbero aiutare l'intuizione:

  1. Il seno dell'angolo dell'impatto influenzerà la rotazione risultante.
  2. L'energia lineare determinerà la massima energia di rotazione possibile.
  3. Un singolo parametro può simulare i coefficienti di attrito rilevanti al punto da essere interessante da guardare in simulazione.

Dovresti dare un'occhiata a Physics for Game Developers - è difficile sbagliare con un libro di O'Reilly.

A meno che tu non abbia un motivo eccellente per reinventare la ruota, Suggerirei di dare una buona occhiata al codice sorgente di alcuni motori fisici open source, come Open Dynamics Engine o Bullet . Algoritmi efficienti in questo settore sono un'arte, e le migliori implementazioni senza dubbio si trovano in natura, in progetti sottoposti a una revisione approfondita come questi.

Dai un'occhiata a questi riferimenti! Se vuoi entrare davvero nel Mecanics, questa è la strada da percorrere, ed è il modo corretto e matematicamente corretto!

Glocker Ch., Leggi della forza a valori prefissati: dinamica dei sistemi non fluidi. Dispense in Meccanica applicata 1, Springer Verlag, Berlino, Heidelberg 2001, 222 pagine. PDF (Contenuto, 149 kB)

Pfeiffer F., Glocker Ch., Multibody Dynamics con contatti unilaterali. JohnWiley & amp; Sons, New York 1996, 317 pagine. PDF (Contenuto, 398 kB)

Glocker Ch., Dynamik von Starrk & # 246; rpersystemen mit Reibung und St & # 246; & # 223; en. VDI-Fortschrittberichte Mechanik / Bruchmechanik, Reihe 18, Nr. 182, VDI-Verlag, D & # 252; sseldorf, 1995, 220 pagine. PDF (4094 kB)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top