Υλοποιήσεις

Κεντρική σελίδα

Σκοπός ενός μαθήματος Υπολογιστικής Γεωμετρίας είναι η εμβάθυνση στους γεωμετρικούς αλγορίθμους. Παράλληλα όμως, οι υλοποιήσεις των αλγορίθμων προσφέρουν οπτικά ερεθίσματα και διευκολύνουν την ενόραση. Οι γεωμετρικές υλοποιήσεις είναι ένα μεγάλο τεχνικό ζήτημα που κατα κανόνα δυσκολεύει, ιδιαίτερα όλους όσοι είναι προσανατολισμένοι στη θεωρία. Στις σελίδες αυτές θα προσπαθήσουμε να κάνουμε προσιτά σε όλους διάφορα τεχνικά θέματα που άπτονται των γεωμετρικών υλοποιήσεων. Η βιβλιοθήκη που θα χρησιμοποιήσουμε είναι η CGAL.

Η βιβλιοθήκη CGAL και εγκατάσταση

Είναι γραμμένη σε C++ και είναι ανοικτού κώδικα, η ιστοσελίδα της είναι η cgal.org και κάποια παλαιότερα μαθήματα σχετικά με τη CGAL βρίσκονται εδώ (SSM course Nancy course).

Σε παλαιότερα μαθήματα χρησιμοποιούσαμε τη CGAL μέσω των Python Bindings και στα πλαίσια του μαθήματος είχε δημιουργηθεί η εξής βίβλιοθήκη οπτικοποίησης py.CGAL.visual

Για να χρησιμοποιήσετε τη CGAL μπορείτε να την κατεβάσετε από τη σελίδα cgal.org και να την εγκαταστήσετε με βάση τις οδηγίες. Αν χρησιμοποιείτε ένα debian-based σύστημα (π.χ. ubuntu) τότε μπορείτε να εγκαταστήσετε απλά το πακέτο libcgal-dev (π.χ. χρησιμοποιώντας το synaptic). Εναλλακτικά μπορείτε να χρησιμοποιήσετε το Virtual Machine (σε Linux ή Windows).

Virtual Machine


Σε μια προσπάθεια να ενσωματώσουμε όλα τα απαραίτητα εργαλεία σε ένα κοινό περιβάλλον δημιουργήσαμε ένα Virtual Machine με προεγκατεστημένες όλες τις απαραίτητες βιβλιοθήκες για τις προγραμματιστικές ασκήσεις.

Για να το χρησιμοποιήσετε πρέπει πρώτα να εγκαταστήσεται κάποιο Virtual Box. Προτείνουμε το VirtualBox OSE . Στη συνέχεια πρέπει να κατεβάσετε το αρχείο ubuntu-cgal.vdi. Μπορείτε να το κατεβάσετε από την διεύθυνση http://pythagoras.di.uoa.gr

Αφού ξεκινήσετε το VirtualBox OSE επιλέγετε New για να δημιουργήσετε ένα νέο Virtual Machine. Επιλέγετε για λειτουργικό σύστημα Linux και έκδοση Ubuntu και στην ενότητα Virtual Hard Disk επιλέγετε "Use existing hard disk" και εισάγετε το αρχείο που έχετε καταβάσει. Σε όλες τις άλλες επιλογές μπορείτε να αφήσετε τις προεπιλεγμένες επιλογές.

Στη συνέχεια ξεκινάτε το Virtual λειτουργικό σας και κάνετε login με το χρήστη ubuntu και κωδικό reverse.

Μεταγλώτιση ενός παραδείγματος στη CGAL


Έστω ότι θέλετε να μεταγλωτίσετε ένα αρχείο CGAL (.cpp) που βρίσκεται στο φάκελο my_first_cgal_example και έχετε εγκαταστήσει τη CGAL στο $HOME/CGAL-4.0 τότε εκτελείτε τα παρακάτω:

cd my_first_cgal_example                          # go to the folder that contain your CGAL example
cgal_create_cmake_script                          # create the CMakeLists.txt file
cmake -DCGAL_DIR=$HOME/CGAL-4.0 .                 # generate the Makefile
make                                              # build the example