martedì 29 luglio 2008

[as2] Rilevare le collisioni con l'oggetto Math: fra un cerchio e una linea

La logica per determinare questo tipo di collisione è la seguente:

A - La linea è statica e il cerchio si muove

B - Una palla o cerchio, quando in movimento, segue una traiettoria su di una ipotetica linea. Utilizzeremo pertanto alcuni concetti precedentementi introdotti (vedi i vari post sulle collisioni), per determinare dove (la posizione xy) la linea o traiettoria della palla incontra il segmento

C - Successivamente useremo la trigonometria per individuare in quale preciso punto si toccano

D - Osserveremo in quel posizione si trova il cerchio, per determinare quando una collisione avrà luogo. Se otterremo un valore < = 1 frame, allora sarà avvenuta una collisione



Fig.1

L'intersezione avviene dove il centro del cerchio incontra la linea, ma in realtà, abbiamo bisogno che la collisione avvenga prima (pensiamo ad una palla che rimbalza su di un piano)

Fig.2

Il punto di contatto è determinato da una linea perpendicolare che va dal centro del cerchio al segmento. Questa linea è uguale a meno l'inclinazione del segmento di contatto.
Supponendo una inclinazione = 3 del segmento, l'inclinazione della linea perpendicolare sarà = - 1/3


Fig.3


A questo indirizzo potete scaricare un fla di esempio


0 commenti: