Sto lavorando con una tela JavaScript, e vorrei ricreare un effetto abbastanza comune che ho visto dove le particelle in movimento creano linee tra di loro quando poi si avvicinano l'una all'altra.
Il mio problema è che essenzialmente sto facendo due loop uno dentro l'altro. Si prega di vedere lo pseudo codice:
var particles = [ /* array of particles with x and y values */ ]
for(var i = 0; i < particles.length; i ++){
for(var j = 0; j < particles.length; j ++){
// check if j is close to i
// if so, draw a line between them
}
}
Prima di tutto ho scoperto che questo avrebbe ricontrollato una particella contro se stessa. Quindi posso aggiungere:
if(i == j) continue
Ma in realtà, ho bisogno di un ulteriore caso. Ad esempio, se ho già controllato quando i = 1
e j = 8
, non ho bisogno di controllare quando j = 1
e i = 8
Esiste un metodo comune per semplificare questa procedura di verifica? Sto perdendo un bel po 'di prestazioni con i controlli multipli.