10.12.2012 Views

Κεφάλαιο 1 - Nemertes

Κεφάλαιο 1 - Nemertes

Κεφάλαιο 1 - Nemertes

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!