36
δαχτυλιδιού, όπως συμβαίνει στο κελί, με συντεταγμένες (5.2) στο παραπάνω σχήμα (
), το ύψος προσεγγίζεται με βάση τα δυο πλησιέστερα κελιά, που στην περίπτωση αυτή είναι
τα κελιά με συντεταγμένες (2, 1) και (3, 1). Ο υπολογισμός μπορεί να γίνει με την χρήση του
μεγίστου ύψους από τα πλησιέστερα κελιά, το μέσο όρο των υψών των κελιών ή με την τεχνική
της παρεμβολής για τα δυο σημεία. Κάθε μια από τις παραλλαγές αυτές επηρεάζει την ακρίβεια
του αλγορίθμου, αλλά και την απόδοση του. Το πρόβλημα που παρουσιάζει ο αλγόριθμος
XDraw αφορά πιθανά σφάλματα στις μετρήσεις των σημείων που υπολογίζονται
προσεγγιστικά. Κάθε ανακριβής προσέγγιση του ύψους σε ένα δαχτυλίδι, έχει ως αποτέλεσμα
το λάθος να μεταφέρεται στα υπόλοιπα δαχτυλίδια, δημιουργώντας έτσι απώλεια ακρίβειας
στον αλγόριθμο, ακόμα και αν τα υπόλοιπα κελιά υπολογίζονται με ακρίβεια.
2.8 Εργαλεία που χρησιμοποιήθηκαν
2.8.1 Python 3
Η Python είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου, η οποία
δημιουργήθηκε από τον Γκίντο βαν Ρόσσουμ (Guido van Rossum) [37] και κυκλοφόρησε το
1991. Η Python δίνει έμφαση στην αναγνωσιμότητα του κώδικα, που επιτρέπει εύκολη
συντήρηση, του και ταυτόχρονα επιταχύνει την ταχύτητα εκμάθησης. Η σύνταξη της επιτρέπει
την συγγραφή κώδικα σε λιγότερες γραμμές σε σύγκριση με άλλες γλώσσες. Η περιεκτικότητα
των βιβλιοθηκών της την καθιστά ευέλικτη για ένα μεγάλο φάσμα εφαρμογών [38].
2.8.2 Διεπαφή Μεταβίβασης Μηνυμάτων
Η Διεπαφή Μεταβίβασης Μηνυμάτων (Message Passing Interface - MPI) είναι ένα
πρότυπο βιβλιοθήκης που χρησιμοποιείται, ώστε να επιτευχθεί παράλληλη επεξεργασία με την
επικοινωνία μεταξύ των διεργασιών μέσω της ανταλλαγής μηνυμάτων. Ο στόχος του MPI είναι
να καθιερώσει ένα φορητό, αποδοτικό και ευέλικτο πρότυπο για το μοντέλο παράλληλου
προγραμματισμού που βασίζεται στη μεταβίβαση μηνυμάτων [28]. Πιο συγκεκριμένα, το MPI
εκτελεί τον ίδιο κώδικα σε διαφορετικές διεργασίες και χρησιμοποιεί την επικοινωνία ανάμεσα
τους για να πετύχει την συγκέντρωση των αποτελεσμάτων των διεργασιών. Με αυτόν τον
τρόπο μοιράζεται ο φόρτος εργασίας σε πολλούς επεξεργαστές και επιταχύνεται ο αλγόριθμος.
Ταυτόχρονα, η χρήση του MPI είναι αρκετά περίπλοκη, καθώς πρέπει ο προγραμματιστής να
εντοπίσει που μπορεί να εφαρμοστεί παράλληλη επεξεργασία και να την εφαρμόσει με