[snippet] distanza tra due punti

Vi capita mai di avere una cosa davanti agli occhi per mesi e poi di non riuscire a trovarla quando, alla fine, vi serve davvero?

La stessa sensazione io la provo quando non riesco a ricordare come compiere semplici operazioni di uso pratico in Actionscript o in JavaScript, è per questo che ho deciso di appuntarmi alcuni snippet di codice che servono spesso, ma che hanno la fastidiosa abitudine di sfuggire alla memoria quando si è nel bel mezzo di uno script.

Oggi ho sotto mano tutti i modi per calcolare la distanza tra due punti di cui si conoscono le coordinate sul piano (2D) o nello spazio (3D) sia in Actionscript che in JavaScript… li lascio qui, così saprò dove trovarli la prossima volta che mi serviranno.

Distanza tra due punti su un piano con Actionscript 3

In AS3 il gioco è molto facile perché la Classe Point ha un Metodo Statico per questa esigenza:

var punto1:Point = new Point(0, 0);
var punto2:Point = new Point(40, 30);
var distanza = Point.distance(punto1, punto2);

Questa soluzione funziona con Flash Player 8 e versioni successive.

Distanza tra due punti su un piano con Actionscript 2

In AS2 non possiamo utilizzare la Classe Point, quindi faremo come ci hanno insegnato a scuola:

var x1:Number = 0;
var y1:Number = 0;
var x2:Number = 40;
var y2:Number = 30;

var dx:Number = x1 - x2;
var dy:Number = y1 - y2;

var distanza:Number = Math.sqrt((dx * dx) + (dy * dy));

Questa soluzione funziona con Flash Player 6 e versioni successive.

Distanza tra due punti su un piano con Actionscript 1 e JavaScript

In AS1 la soluzione è praticamente identica alla precedente, ma non possiamo tipizzare le variabili che dichiariamo, quindi toglieremo il tipo e i due punti:

var x1 = 0;
var y1 = 0;
var x2 = 40;
var y2 = 30;

var dx = x1 - x2;
var dy = y1 - y2;

var distanza = Math.sqrt((dx * dx) + (dy * dy));

Questa soluzione funziona con Flash Player 4 e 5, e si scrive nello stesso modo anche in JavaScript.

Distanza tra due punti nello spazio con Actionscript 3 e Actionscript 2

Esistono tante Librerie di terze parti che offrono funzionalità utili per gestire un punto nello spazio, tuttavia se dobbiamo semplicemente calcolare una distanza tra due punti è più conveniente scrivere qualche riga di codice piuttosto che importare un’intera Classe che non useremo affatto quando invece basta scivere così:

var x1:Number = 0;
var y1:Number = 0;
var z1:Number = 0;
var x2:Number = 40;
var y2:Number = 30;
var z2:Number = 10;

var dx = x1 - x2;
var dy = y1 - y2;
var dz = z1 - z2;

var distanza = Math.sqrt((dx * dx) + (dy * dy) + (dz * dz));

Questa soluzione funziona con Flash Player 6 e versioni successive, in Actionscript 2 e in Actionscript 3.

Distanza tra due punti nello spazio con Actionscript 1 e JavaScript

In Actionscript 1 e in JavaScript non possiamo tipizzare le variabili, a parte questa differenza la soluzione è identica alla precedente:

var x1 = 0;
var y1 = 0;
var z1 = 0;
var x2 = 40;
var y2 = 30;
var z2 = 10;

var dx = x1 - x2;
var dy = y1 - y2;
var dz = z1 - z2;

var distanza:Number = Math.sqrt((dx * dx) + (dy * dy) + (dz * dz));

Questa soluzione funziona con Flash Player 4 e 5, e si scrive nello stesso modo anche in JavaScript.

E per oggi è tutto…

Ritieni che manchi qualcosa? Stavi cercando uno snippet simile ma non l’hai trovato? Hai critiche, insulti, parolacce? Lascia un commento… è gratis.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.