background image

 

50 

 

 

Τέλος,  στα  γεγονότα  κέντρου  πραγματοποιείται  ο  υπολογισμός  της  ορατότητας. 

Αρχικά, εντοπίζεται και πάλι η θέση του κελιού για το οποίο συμβαίνει το γεγονός κέντρου 

χρησιμοποιώντας δυαδική αναζήτηση στην λίστα που αποθηκεύεται η μέτρηση της απόστασης 

από τον παρατηρητή. Η θέση του κελιού χρησιμοποιείται ώστε να σταματήσει ο υπολογισμός 

των μετρήσεων για τα κελιά που βρίσκονται πιο μακριά από το κελί που εξετάζεται, αφού το 

ύψος τους δεν επηρεάζει την ορατότητα του πως φαίνεται στο παρακάτω σχήμα (

Σχήμα 32

)

 

Σχήμα 32 Παράδειγμα υπολογισμού ορατότητας για το κελί x. Ο υπολογισμός ορατότητας γίνεται μόνο για τα 

πράσινα κελιά που τέμνει η γραμμή ορατότητας. 

Για κάθε κελί που βρίσκεται στην γραμμή ορατότητας, πριν το κελί για το οποίο συμβαίνει το 

γεγονός κέντρου, πραγματοποιείται  σύγκριση του ύψους των κελιών.  Η σειρά με την οποία 

υπολογίζονται τα κελιά βασίζεται στην απόσταση τους από τον παρατηρητή, όπως φαίνεται 

και στο παρακάτω σχήμα (

Σχήμα 33

).  

 

Σχήμα 33 Απεικόνιση της σειράς με την οποία υπολογίζεται η ορατότητα των κελιών όταν συμβαίνει γεγονός 

κέντρου. 

Η  σειρά  που  εφαρμόζεται  έχει  στόχο  την  βελτίωση  της  απόδοσης.  Αν  οποιοδήποτε  κελί 

παρουσιάζει  ύψος  μεγαλύτερο  από  αυτό  του  κελιού  του  οποίου  εξετάζεται,  τότε  δεν  είναι 

απαραίτητος ο υπολογισμός των υπόλοιπων κελιών, αφού η ορατότητα στο κελί εμποδίζεται. 

Σε αυτό το σημείο οι υπολογισμοί της απόστασης γίνονται με τη χρήση  μονάδων μέτρησης 

απόστασης  και  όχι  κελιών,  επειδή  χρησιμοποιούνται  για  την  μέτρηση  της  κλίσης.  Αυτό 

συμβαίνει καθώς είναι πιθανό τα κελιά, ενώ έχουν τη μορφή τετραγώνου να αντιπροσωπεύουν 

περιοχές  με  διαφορετικό  μήκος  και  πλάτος.  Οι  πλευρές  του  κάθε  κελιού  υπολογίζονται  σε