Αναπαράσταση Δέντρων στον Υπολογιστή

Συγγραφέας: Paul Bourke
Απρίλιος 1992

English version


Τα μοντέλα του υπολογιστή για φυσικά αντικείμενα και το rendering τους είναι συχνά πολύ δαπανηρές εργασίες όσoν αφορά τις απαιτήσεις χώρου και τον φόρτο επεξεργασίας. Αυτό ισχύει ειδικά όταν προσπαθούμε να συμπεριλάβουμε φυτά σε εικονικά περιβάλλοντα εφαρμογών όπως αρχιτεκτονικές κατασκευές όπου μία πλήρης 3D περιγραφή είναι συχνά επυθυμητή. Ακόμη και ένα πολύ απλό δέντρο για παράδειγμα περιέχει ένα μεγάλο αριθμό κλαδιών και φύλλων. Εδώ θα αναφερθούμε σε μία σειρά από τεχνικές για την αναπαράσταση δέντρων σε μοντέλα σχεδιασμένα σε υπολογιστή, με τελική κατάλληξη στην ιδανική μέθοδο για μια πλήρη 3D περιγραφή.

Ζωγραφική

Μία πολύ συνηθισμένη μέθοδος για να συμπεριλάβουμε φυτά σε εικόνες φτιαγμένες στον υπολογιστή είναι να ζωγραφίζουμε τις εικόνες μετέπειτα. Αυτή η μέθοδος έχει νόημα όπου η επιπλέον πολυπλοκότητα για την πραγματική εισαγωγή φυτών μέσα στην 3D σκηνή είναι πολύ ακριβή. Δίνοντας την εργασία σε έναν ικανό χειριστή ενός πακέτου επεξεργασίας εικόνας τα αποτελέσματα μπορεί να είναι πολύ καλά. Φυσικά μπορεί να χρειαστεί ένα σεβαστό ποσό χρόνου από τον χειριστή ειδικά για την τμηματική τοποθέτηση των δέντρων πίσω από άλλα αντικείμενα στην εικόνα. Η προσθήκη σκιών μπορεί επίσης να είναι κάπως χρονοβόρα διαδικασία. Η κύρια αντίρρηση είναι ότι κάθε εικόνα που δημιουργείται θα πρέπει να επεξεργάζεται με το χέρι αφαιρώντας έτσι ένα από τα κύρια πλεονεκτήματα της απεικόνισης 3D μοντέλων στον υπολογιστή, που είναι ότι εφόσον κατασκευαστεί ένα 3D μοντέλο είναι εύκολο να δημιουργηθεί οποιοσδήποτε αριθμός προβολών. Αφού επεξεργαστεί τις εικόνες μετά το rendering αφαιρεί επίσης την δυνατότητα δημιουργίας animation στον υπολογιστή.

Ακατέργαστα 3D μοντέλα

Ένας τρόπος για να αναπαραστήσουμε ένα δέντρο σε 3 διαστάσεις είναι να το αναπαραστήσουμε προσεγγιστικά με κάποια από τα γεωμετρικά σχήματα κατασκευής που παρέχονται από τα προγράμματα τρισδιάστατου μοντελισμού. Σε μία πολύ απλή περίπτωση, ο κορμός (ή τα κλαδιά) μπορεί να φτιαχτεί από κυλίνδρους. Τα φύλλα μπορεί να είναι σφαίρες που πατάνε πάνω σε ένα μικρό κύλινδρο.
Αν αυτό είναι χρωματισμένο κατάλληλα τότε στο περιβάλλον ενός φυσικού τοπίου είναι εύκολο να αναγνωριστεί ως δέντρο και όχι σαν γλυφιτζούρι.
Αυτή η μέθοδος έχει χρησιμοποιηθεί εδώ και αρκετό καιρό, δεν προσθέτει μεγάλη πολυπλοκότητα στο μοντέλο του υπολογιστή και τα περισσότερα πακέτα rendering μπορούν να χειριστούν κυλίνδρους και σφαίρες πιο αποτελεσματικά από άλλα πρωτογενή γεωμετρικά σχήματα όπως το επίπεδο (plane). Μία προέκταση είναι να χαρτογραφήσετε μία επιφάνεια φύλλου πάνω στην σφαίρα και αυτό μπορεί να έχει ακόμη και διαφανή τμήματα, καθώς και μία εικόνα κορμού μπορεί να χαρτογραφηθεί πάνω στον κορμό του δέντρου μας.

Υπάρχουν πολύ περιοριστικά όρια στον ρεαλισμό ενός δέντρο που κατασκευάζεται με αυτόν τον τρόπο. Αν και αυτό μπορεί να μην είναι πρόβλημα για σκηνές που έχουν μονάχα μία απλή τεχνική αναπαράστασης (όπως Gouraud ή Phong shading), μπορεί να φαίνεται κάπως αταίριαστο αν η υπόλοιπη σκηνή είναι αποτυπωμένη με υψηλό επίπεδο ρεαλισμού.

Σιλουέτες

Μία πολύ συνηθισμένη προσέγγιση, όταν η βελτίωση του ρεαλισμού είναι σημαντική αλλά όπου είναι ακόμη επιθυμητό να κρατήσουμε τα δεδομένα του περιεχομένου σε χαμηλά επίπεδα, είναι να δημιουργήσουμε ένα δισδιάστατο δέντρο ή μία επίπεδη επιφάνεια που τοποθετούμε σε μία τρισδιάστατη σκηνή. Αυτό συνήθως επιτυχάνεται τοποθετώντας ένα επίπεδο (plane) στην σκηνή και χαρτογραφόντας πάνω του μία φωτογραφία ενός δέντρου ως σχέδιο και τοποθετώντας την σιλουέτα του δέντρου ως το περίγραμμα όπου θα κάνουμε το υπόλοιπο διαφανές. Είναι απλή διαδικασία να σκανάρουμε μία σειρά από τύπους δέντρων για ποικιλία ειδών και να αλλάξουμε το μέγεθος στις επιφάνειες για ποικιλία μεγέθους.

Το κυρίως πρόβλημα με αυτήν την προσέγγιση είναι ότι το επίπεδο πάνω στο οποίο έχουμε τοποθετήσει την εικόνα του δέντρου πρέπει να μένει κάθετη προς την κάμερα.
Γι'αυτό πολλά πακέτα 3D modelling και rendering προσφέρουν αυτήν την δυνατότητα, η κάμερα μπορεί να "συνδεθεί" στην επιφάνεια ενός δέντρου έτσι ώστε καθώς κινείται η κάμερα η επιφάνεια του δέντρου περιστέφεται γύρω από τον κάθετο άξονά της ώστε να μένει κάθετη. Ένα άλλο πρόβλημα είναι η λήψη εικόνων που θα έχουν τις ίδιες συνθήκες φωτισμού όπως αυτές που θα χρησιμοποιηθούν στο μοντέλο. Διαφορετικά η σκηνή μπορεί να είναι φωτισμένη προς την μία κατεύθυνση και το δέντρο να φαίνεται ότι είναι προς την άλλη. Αυτό το δέντρο ρίχνει επίσης λάθος σκιές εκτός από πολύ ειδικές περιπτώσεις όταν ο ήλιος βρίσκεται κάθετα στο επίπεδο του δέντρου. Όταν ο ήλιος βρίσκεται σε οποιαδήποτε άλλη θέση οι σκιές είναι ελειπείς παραμορφωμένες προβολές της σωστής σκιάς.

Λεπτομερή 3D μοντέλα

Ο ιδανικός τρόπος για την αναπαράσταση δέντρων σε 3D μοντέλα που ξεπερνά όλα τα προβλήματα αναπαράστασης των άλλων τεχνικών είναι να δημιουργήσουμε, όσο ακριβέστερα είναι δυνατό και λογικό, την γεωμετρία του δέντρου. Τα πρωτογενή γεωμετρικά σχήματα είναι συνήθως προσεκτικά κομμένοι κώνοι με σφαίρες στις διασταυρώσεις τους, διακοσμημένα με το κατάλληλο χρώμα και bump map για τον κορμό και τα κλαδιά.

Παραδείγματα από textures/bump maps για κορμούς.

Πολύγωνα ή πιθανώς spline επιφάνειες χρησιμοποιούνται στα φύλλα. Τέτοια δέντρα μπορούν να παραχθούν με μία σειρά από τρόπους τόσο χειρωνακτικά ή με αυτόματες μεθόδους αν δωθούν μερικά από τα επιθυμητά χαρακτηριστικά του φυτού.

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

Μία άλλη μέθοδος είναι να χρησιμοποιήσουμε τα 3D L-Systems (Lindenmayer) για να δημιουργήσουμε την γεωμετρία, ένα παράδειγμα αυτής είναι η εικόνα αυτού του ανθισμένου θάμνου.
Ολόκληρος αυτός ο θάμνος παράχθηκε από μία σειρά από πολύ απλές εντολές που εφαρμόζονται αλεπάλληλα. Μπορεί να "αναπτυχθεί" σε οποιαδήποτε επιθημητή ανάλυση και πολυπλοκότητα που μπορεί να είναι μεγάλο πλεονέκτημα κατά την σύνθεση της σκηνής. Το φυτό μπορεί να δημιουργηθεί με ένα μικρό βαθμό πολυπλοκότητας, κατά την ανάπτυξη της σκηνής, όταν η αλληλεπίδραση και η ταχύτητα είναι σημαντικά. Όταν παράγονται εικόνες προεπισκόπησης ή δοκιμάζονται οι διαδικασίες κίνησης, το φυτό μπορεί να δημιουργηθεί με μία υψηλότερη ανάλυση, και τα φυτά μπορούν να σχηματιστούν σε ακόμη μεγαλύτερη πολυπλοκότητα για τις τελικές απεικονίσεις.

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

Αυτά τα προγράμματα παίρνουν παραμέτρους όπως τον μέσο αριθμό διακλαδώσεων ανά κλαδί, την μέση γωνία των κλαδιών, ένα συντελεστή για το μήκος των κλαδιών κτλ. Το λογισμικό τότε αναπτύσει το φυτό μέχρι το σημείο που χρειάζεται. Αυτή η μέθοδος έχει το ίδιο πλεονέκτηματα με τα L-Systems στο ότι η πολυπλοκότητα του φυτού μπορεί α ελεγχθεί. Στο εξειδικευμένο λογισμικό ανάπτυξης φυτών είναι συνήθως εύκολος ο σχηματισμός φυτών ενός συγκεκριμένου είδους, μεγέθους foliage, κτλ.
Το προφανές πλεονέκτημα με τα πλήρως τρισδιάστατα δέντρα είναι ότι φαίνονται ως φυσικά αντικείμενα στην σκηνή που εμφανίζονται. Ρίχνουν τις σκιές όπως είναι αναμενόμενο, μπορούν να προβάλλονται από οποιαδήποτε θέση, και προσφέρουν έναν υψηλό βαθμό ρεαλισμού. Τα μειονεκτήματα είναι οι απαιτήσεις αποθήκευσης και ο αυξημένος χρόνος επεξεργασίας για την διαδικασία του rendering. Δεν είναι ασυνήθιστο ένα απλό φυτό να σχηματίζεται με πάνω από 100,000 πολύγωνα και/ή κυλίνδρους, δεν μπορούν όλα τα πακέτα rendering να χειριστούν τέτοια πολυπλοκότητα.

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

Περισσότερα παραδείγματα


Μέσα σε ένα δέντρο


Απλός θάμνος


Σπειροειδής θάμνος με φύλλα


Ξερά κλαδιά με σύστημα σωματιδίων


Ξερά κλαδιά με σύστημα σωματιδίων


Κάτοψη ενός πεύκου


Προβολή πεύκου από ψηλά


Προβολή πεύκου από χαμηλά


Φοινικόδεντρο


Φοινικόδεντρο


Απλό δεντρίλιο