background image

 

33 

 

 

Σχήμα 11 Παράδειγμα υπολογισμού του ύψους για τον αλγόριθμο R2 με την χρήση crossings για τις γραμμές 

ορατότητας Α και Β

10

. 

Ο υπολογισμός του ύψους, για κάθε κελί που η γραμμή ορατότητας δεν τέμνει στο κέντρο του, 

πραγματοποιείται  όταν  συμβαίνει  x-crossing  ή  y-crossing  και  υπολογίζεται  με  βάση  την 

απόσταση από το κοντινότερο κελί. Όπως φαίνεται στο 

Σχήμα 11

, για την γραμμή ορατότητας 

Α το x-crossing στο σημείο που απέχει dA από το C το ύψος θα έχει to ύψος του σημείου C, 

επειδή είναι το πλησιέστερο σημείο στο crossing.

 

Αυτός ο τρόπος υπολογισμού βελτιώνει τη 

ταχύτητα  του  αλγορίθμου,  με  κόστος  στην  ακρίβεια  του,  καθώς  ο  αλγόριθμος  γίνεται 

προσεγγιστικός.  Η ακρίβεια του αλγορίθμου  μπορεί να βελτιωθεί τροποποιώντας  τον τρόπο 

υπολογισμού των crossings. 

 

2.7.3 Αλγόριθμος Van Kreveld 

 

Ο  αλγόριθμος  ανάλυσης  οπτικού  πεδίου  που  προτάθηκε  από  τον  Van  Kreveld  [1], 

πετυχαίνει υψηλή ακρίβεια και γρήγορο χρόνο εκτέλεσης. Ο αλγόριθμος αυτός, χρησιμοποιεί 

μια ημιευθεία που αρχίζει από το κελί που βρίσκεται ο παρατηρητής και καταλήγει στα όρια 

του DEM. Η ημιευθεία περιστρέφεται κατά 360 μοίρες, ώσπου να περάσει πάνω από τα κελιά 

που  εξετάζονται.  Όταν  η  ημιευθεία  περνά  πάνω  από  το  κέντρο  του  κάθε  κελιού,  γίνεται  ο 

υπολογισμός της ορατότητας του κελιού.  

 

Σχήμα 12 Απεικόνιση της γραμμής ορατότητας που περιστρέφεται γύρω από τον παρατηρητή και πραγματοποιεί 

τη σάρωση των κελιών στον αλγόριθμο του Van Kreveld

11

. 

                                                 

10

 Πηγή του σχήματος  είναι η δημοσίευση [43] 

11

 Πηγή του σχήματος είναι η δημοσίευση [1]