Please use this identifier to cite or link to this item: https://apothesis.eap.gr/handle/repo/35263
Title: Σύστημα προσομοίωσης ρευστού και πιτσιλιάς σημείου σε JavaScript για γραφικά παιχνιδιών HTML5
Authors: Αρβανιτάκης, Γεώργιος
Advisor: Φωκά, Αμαλία
Keywords: Υγρό;Liquid;Προσομοίωση;Simulation;Πιτσιλιά;Splash;Javascript;HTML5;Smoothed;Particle;Hydrodynamics;Fluid
Issue Date: 23-Sep-2017
Abstract: Η διαρκής παρουσία του Διαδικτύου στη ζωή του σύγχρονου ανθρώπου έχει κάνει τις εφαρμογές ιστού μια βιώσιμη, και πολλές φορές ενδεδειγμένη, λύση για τις εταιρείες ανάπτυξης λογισμικού, προσφέροντας συμβατότητα με όλες τις μοντέρνες συσκευές, φορητές και μη, διανομή από ένα και μόνο κεντρικό σημείο και συντήρηση και ανανέωση μόνο μιας βάσης κώδικα. H έλευση του HTML5 προσφέρει νέες τεχνικές δυνατότητες που υποστηρίζουν την ανάπτυξη πιο διαδραστικών ηλεκτρονικών παιχνιδιών για τον ιστό απ’ ότι τα παλαιότερα χρόνια. Η προσομοίωση ρευστών χρησιμοποιείται πολύ συχνά στα ηλεκτρονικά παιχνίδια για να ενισχύσει το ρεαλισμό των εικονικών κόσμων τους. Μπορεί να αξιοποιηθεί για τη δημιουργία μιας μεγάλης ποικιλίας οπτικών εφέ, από τον ανερχόμενο καπνό, τα σύννεφα και την ομίχλη μέχρι τη ροή ποταμών και ωκεανών. Η υλοποίηση ενός μηχανισμού για την προσομοίωση ρευστών είναι πάντα μια πρόκληση γιατί απαιτεί περίπλοκους υπολογισμούς σε πραγματικό χρόνο. Συνήθως γίνεται χρήση πολλών υπολογιστικών πόρων και εξειδικευμένων μονάδων επεξεργασίας γραφικών, σε έναν φυλλομετρητή όμως οι πόροι είναι περιορισμένοι και η υποστήριξη επιτάχυνσης υλικού δεν είναι πάντα παρούσα. Σκοπός της εργασίας αυτής είναι η υλοποίηση σε JavaScript της προσομοίωσης υγρού το οποίο μπορεί να βάλλεται από διάφορα σημεία του χώρου και να καταλήγει σε πιτσιλιές πάνω σε κάποιες επιφάνειες, με σκοπό να μπορεί να χρησιμοποιηθεί για ανάπτυξη παιχνιδιών HTML5. Στην παρούσα εργασία γίνεται μια επισκόπηση της κατάστασης της βιομηχανίας παιχνιδιών σήμερα και των εργαλείων που υπάρχουν για την ανάπτυξη παιχνιδιών σε HTML5/JS. Στη συνέχεια γίνεται μια αναφορά στη ρευστοδυναμική και παρουσιάζονται τεχνικές που χρησιμοποιούνται για την προσομοίωση ρευστών, οι οποίες χωρίζονται σε δύο μεγάλες κατηγορίες, αυτές που χρησιμοποιούν σωματίδια και αυτές που χρησιμοποιούν πλέγμα για να αναπαραστήσουν το ρευστό. Για το σκοπό της εργασίας αυτής επιλέχθηκε η υλοποίηση να γίνει με τεχνική σωματιδίων και συγκεκριμένα με την Εξομαλυμένη Υδροδυναμική Σωματιδίων με Χαλάρωση Διπλής Πυκνότητας (Smoothed Particle Hydrodynamics with Double Density Relaxation). Η εξομοίωση χρησιμοποιεί τη βιβλιοθήκη JavaScript Babylon.JS για την προβολή 3D γραφικών σε WebGL. Οι παράμετροι του ρευστού, όπως η πυκνότητα και το ιξώδες, και η θέση και η ταχύτητα των σωματιδίων μπορεί να φορτώνεται από αρχείο XML. Οι εξομοίωση είναι αρκετά ομαλή, διατηρώντας το ρυθμό ανανέωσης της σκηνής πάνω από τα 25 καρέ ανά δευτερόλεπτο για εξομοιώσεις που χρησιμοποιούν έως 800 σωματίδια. Τόσο οι mobile όσο και οι desktop φυλλομετρητές παρουσίασαν συγκρίσιμα αποτελέσματα, που σημαίνει ότι το επίπεδο της απόδοσης είναι σχετικά ανεξάρτητο της πλατφόρμας που τρέχει την προσομοίωση. Φαίνεται λοιπόν ότι με τα σημερινά δεδομένα η προσομοίωση ρευστών με JavaScript είναι εφικτή και τα παιχνίδια HTML5 μπορούν να επωφεληθούν από αυτήν εμπλουτίζοντας την εμπειρία που προσφέρουν στο χρήστη.
Appears in Collections:ΠΛΣ Διπλωματικές Εργασίες

Files in This Item:
File Description SizeFormat 
104484_Αρβανιτάκης_Γεώργιος_Διπλωματική_2017.pdf1.48 MBUnknownView/Open


This item is protected by original copyright



Items in Apothesis are protected by copyright, with all rights reserved, unless otherwise indicated.