You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
private void adjustVelocities(double additionalKineticEnergy)<br />
{<br />
double d = (2d * additionalKineticEnergy / mass) + Vx;<br />
Vx = Vx >= 0 ? Math.sqrt(Math.abs(d)) : -Math.sqrt(Math.abs(d));<br />
double e = (2d * additionalKineticEnergy / mass) + Vy;<br />
Vy = Vy >= 0 ? Math.sqrt(Math.abs(e)) : -Math.sqrt(Math.abs(e));<br />
double f = (2d * additionalKineticEnergy / mass) + Vz;<br />
Vz = Vz >= 0 ? Math.sqrt(Math.abs(f)) : -Math.sqrt(Math.abs(f));<br />
}<br />
ΚΕΦΑΛΑΙΟ 6 ο<br />
Adjust Velocities: Η συνάρτηση η οποία ουσιαστικά ρυθµίζει τις ταχύτητες των σωµατιδίων,<br />
σύµφωνα µε την πρόσθετη κινητική ενέργεια, λαµβάνεται υπόψη ότι το πρόσηµο της<br />
ταχύτητας µπορεί να είναι θετικό ή αρνητικό. Έτσι, για την τελική ανάθεση της ταχύτητας,<br />
χρησιµοποιείται το ιδίωµα του τελεστή "?:"<br />
public double getMeanVelocity()<br />
{<br />
return Math.sqrt( Vx*Vx+Vy*Vy+Vz*Vz);<br />
}<br />
public double getMeanAcceleration()<br />
{<br />
return Math.sqrt( ax*ax+ay*ay+az*az);<br />
}<br />
Get Mean Velocity/Acceleration: Σε αυτές τις δύο συναρτήσεις υπολογίζεται η µέση<br />
ταχύτητα και η µέση επιτάχυνση, αντίστοιχα.<br />
6.4.2 Κλάση ParticlesProxy<br />
Η κλάση ParticlesProxy είναι η βάση της απόσύνδεσης του µέσου απόθήκευσης των<br />
σωµατιδίων µε τον αλγόριθµο του κώδικα Μ∆. Όπως προαναφέρθηκε, εξαιρουµένου του<br />
µηχανισµού παρουσίασης, ο κώδικας µοριακής δυναµικής αλληλεπιδρά µόνο µε αυτή την<br />
διεπαφή. Η υλοποίηση που χρησιµοποιείται σε αυτή την εκδοχή είναι η<br />
SimpleParticlesProxy, η οποία όπως δηλώνει και το όνοµά της είναι µια απλή υλοποίηση που<br />
απόθηκεύει τα σωµατίδια στη µνήµη. Όµως µελλοντικά µπορούν να υπάρξουν και άλλες<br />
υλοποιήσεις αυτής της διεπαφής, για παράδειγµα κατανεµηµένα συστήµατα και οι<br />
αρχιτεκτονικές client-server.<br />
211