L-systems
και υλοποίηση στο scratch
Ναστάκου Μαρία
Διπλωματική εργασία
Επιβλέπων καθηγητής: Νικόλαος Πλατής
Πίστευε ότι η διαδικασία ανάπτυξης των φυτών
βασίζεται στη γεωμετρία των fractals και για
να μελετήσει τη μορφή τους στράφηκε σ΄ ένα
μαθηματικό εργαλείο που ονομάζεται L-system
L-systems – είδος fractals
2
Ναστάκου Μαρία * L- systems * Μάιος 2013
Mandelbrot
Τα Fractals είναι γεωμετρικά σχήματα που περιγράφουν
τους σχηματισμούς της φύσης
και παρουσιάζουν εντυπωσιακά χαρακτηριστικά:
o πολυπλοκότητα
o αισθητικότητα
o αυτοομοιότητα
o διάσταση μικρότερη του 2 (ή ανάμεσα στο 2 και 3 –
καμπύλη επιφάνεια )
Prusinkiewicz
Τα L-systems για πρώτη φορά παρουσιάστηκαν το 1968 από τον
Aristid Lindenmayer 1925-1989) σαν μια μαθηματική θεωρία της
ανάπτυξης των φυτών, που χρησιμοποιήθηκε για να μοντελοποιήσει
o τη διαδικασία ανάπτυξης των φυτών
o τη μορφολογία μεγάλης ποικιλίας οργανισμών, αλλά και
ανόργανες μορφές όπως κρύσταλλοι ή άλλες φυσικές μορφές
Lindenmayer-1968
3
Ναστάκου Μαρία * L- systems * Μάιος 2013
Πολύπλοκες δομές διακλάδωσης
Ανώτερα φυτά
πολυκύτταροι
Κεντρική έννοια των L-systems είναι η έννοια της επανεγγραφής.
τεχνική με βάση την οποία καθορίζονται σύνθετα αντικείμενα με
διαδοχική αντικατάσταση μερών από ένα απλό αρχικό αντικείμενο
χρησιμοποιώντας ένα σύνολο κανόνων επανεγγραφής ή αναπαραγωγής. Η
επανεγγραφή μπορεί να γίνει αναδρομικά
L-systems &
αυτοομοιότητα
τα L-systems είναι βασικά αναδρομικές διαδικασίες
4
Ναστάκου Μαρία * L- systems * Μάιος 2013
υποκατάσταση συμβόλων
από σύμβολα
γραφική αναπαράσταση των
συμβολοσειρών.
Τα L-systems είναι τώρα κοινώς γνωστά ως παραμετρικά συστήματα
που ορίζονται από μια πλειάδα:
G = (V, ω, P),
όπου:
o V (το αλφάβητο) είναι ένα σύνολο συμβόλων που περιέχουν στοιχεία
τα οποία μπορούν ν’ αντικατασταθούν (μεταβλητές)
o ω (αξίωμα) είναι μια σειρά συμβόλων από το V που ορίζει την αρχική
κατάσταση του συστήματος.
o P είναι το σύνολο κανόνων παραγωγής που καθορίζουν τον τρόπο με
τον οποίο οι μεταβλητές μπορούν ν’ αντικατασταθούν με συνδυασμό των
σταθερών και άλλων μεταβλητών.
Γραμματική
τερματικά σύμβολα
μη τερματικά σύμβολα
αξίωμα
κανόνες παραγωγής
5
Ναστάκου Μαρία * L- systems * Μάιος 2013
Χαρακτηριστικό γνώρισμα των L-systems είναι η ταυτόχρονη
εφαρμογή των κανόνων που τα διακρίνει από μια τυπική γλώσσα που
παράγεται από μια τυπική γραμματική.
Γραμματική
Έτσι τα L-systems δεν είναι γλώσσα αλλά αυστηρά υποσύνολα γλωσσών
6
Ναστάκου Μαρία * L- systems * Μάιος 2013
Οι λέξεις κτίζονται αναδρομικά εφαρμόζοντας τους κανόνες
παραγωγής σε κάθε επανάληψη για να σχηματίσουν μεγαλύτερες και
πολυπλοκότερες:
o Αξίωμα (αρχική συμβολοσειρά)
o κανόνες για κάθε μη τερματικό σύμβολο --- νέα μεγαλύτερη
συμβολοσειρά
o επανάληψη όσες φορές ορίσουμε εμείς---τελική συμβολοσειρά (l-
system.
Τα L-systems επεκτείνουν συμβολοσειρές (strings) και η
επέκταση αυτή βασίζεται σε ντετερμινιστικούς κανόνες(προβλέψιμο
το αποτέλεσμα).
Η διαδικασία της επανεγγραφής αρχίζει από ένα αρχικό string.
κάθε εμφάνιση του συμβόλου Α στη τρέχουσα
συμβολοσειρά αντικαθίσταται από το ΑΒ …
Γενικό παράδειγμα
7
Ναστάκου Μαρία * L- systems * Μάιος 2013
L-system «χελώνα»
Ένα απλό L-system ονομαζόμενο «χελώνα» (ή αντίστοιχα γάτα
του scratch, χρησιμοποιείται για τη γεωμετρική απεικόνιση
δομών
Η χελώνα(η ο γάτος για το scratch με τις εντολές της πένας) είναι
ένα εργαλείο ζωγραφικής για τη γεωμετρική ερμηνεία μιας
παραγόμενης συμβολοσειράς(string)
Καθώς διαβάζεται η συμβολοσειρά η χελώνα εκτελεί συγκεκριμένες
εντολές για ορισμένα σύμβολα και αλλάζει τη θέση-κατάστασή της.
Κάθε μετακίνηση ορίζεται με πέντε θεμελιώδη σύμβολα που είναι τα
F,+,-,[,].
F σημαίνει «κινήσου προς τα εμπρός».
+ σημαίνει «στρίψε προς τα δεξιά κατά μια
συγκεκριμένη γωνία »
- σημαίνει «στρίψε προς τα αριστερά κατά μια
συγκεκριμένη γωνία »
[ σημαίνει «θυμήσου αυτό το σημείο-τοποθεσία»
] σημαίνει «επέστρεψε στο σημείο της μνήμης
8
Ναστάκου Μαρία * L- systems * Μάιος 2013
9
Ναστάκου Μαρία * L- systems * Μάιος 2013
παραδείγματα L-systems
Peano Hilbert
Levy Koch
sierpinski Dragon
10
Ναστάκου Μαρία * L- systems * Μάιος 2013
Ειδικά
παραδείγματα L-systems
Tiling: είναι η κάλυψη ενός επιπέδου με πλακάκια
χωρίς επικαλύψεις και κενά. Μπορούν να εκφραστούν
ως L-systems αφού παράγονται με αναδρομικές
διαδικασίες :
Επανάληψη περιοδικά ή απεριοδικά μιας ομάδας
πρωτότυπων πλακών (prototiles).
Δομές διακλάδωσης: Τα χρησιμοποιούμε για να
προσομοιώσουμε την ανάπτυξη φυτών και δέντρων.
Χρησιμοποιούμε τις αγκύλες ως σύμβολα
οριοθέτησης των κλάδων. (bracketed L-Systems)
11
Είδη L-systems
Τα L-systems είναι ντετερμινιστικά συστήματα.
H προσθήκη βελτιώσεων είχε σαν αποτέλεσμα διαφορετικά είδη:
o Πρότυπα (εφαρμόζεται ένας κανόνας για κάθε μη τερματικό σύμβολο)
Π.χ.καμπύλη του «von Koch»
o Στοχαστικά (για κάθε μη τερματικό σύμβολο χρησιμοποιούμε 2 ή
περισσότερους κανόνες με πιθανότητες) – επιλέγονται με βάση κάποια
παράμετρο βαρύτητας
Ναστάκου Μαρία * L- systems * Μάιος 2013
variables : F
constants : + − [ ]
start: F++F++F
rules: F→ F-F++F-F
angle : 60°
a=a+b κανόνας 1a 50% πιθανότητα
a=a-bb κανόνας 1b 50% πιθανότητα
b=aFa-a κανόνας 2a 30% πιθανότητα
b=aFFba κανόνας 2b 70% πιθανότητα
12
oΠαραμετρικά : (είναι ο συνδυασμός των αριθμητικών παραμέτρων
και των συμβόλων)
κάθε σύμβολο έχει μια λίστα από παραμέτρους που σχετίζονται με
αυτό. Ένα σύμβολο σε συνδυασμό με τη λίστα παραμέτρων του
ονομάζεται module και μια συμβολοσειρά είναι μια σειρά από
modules.(π.χ. a(0,1)[b(0,0)]a(1,2))
a(x,y) : x = 0 → a(1, y+1)b(2,3) κανόνας παραγωγής (ο κανόνας εφαρμόζεται όταν
ικανοποιείται ο όρος x = 0)
Στο τμήμα τροποποίησης του κανόνα παραγωγής οι παράμετροι καθώς και ολόκληρα τα modules
μπορεί να επηρεαστούν.
Το module b(x,y) προστίθεται στη συμβολοσειρά με αρχικές παραμέτρους (2,3). Επίσης οι
παράμετροι του ήδη υπάρχοντος module έχουν τροποποιηθεί σύμφωνα με το κανόνα παραγωγής
a(0,2) → a(1,3)b(2,3)
Είδη L-systems
Ναστάκου Μαρία * L- systems * Μάιος 2013
13
o Χρονικά (οι κανόνες εξαρτώνται από μεταβλητές χρόνου
όπως επαναλήψεις, βρόγχοι, ηλικία κ.λ.π.)
Ναστάκου Μαρία * L- systems * Μάιος 2013
a , b μη τερματικά σύμβολα
+ , - , F τερματικά σύμβολα
a το αξίωμα
a = a+b κανόνας που ισχύει στη 1η επανάληψη
a = ab κανόνας που ισχύει στη 2η επανάληψη
a = a[+b] κανόνας που ισχύει στη 3η επανάληψη
a = ab κανόνας που ισχύει στη 4η επανάληψη
b=aFb-a κανόνας που ισχύει για όλες τις επαναλήψεις
Είδη L-systems
o Εξαρτώμενα από τα συμφραζόμενα (οι κανόνες επιλέγονται
ανάλογα με τους γείτονες του ενεργού συμβόλου)
a , b μη τερματικά σύμβολα
+ , - , F τερματικά σύμβολα
a το αξίωμα
a(>null or [ or ]) = a+b κανόνας 1a
a (>+)= a[+b] κανόνας 1b
a (>F)= ab κανόνας 1c
a (>b)= null κανόνας 1d
b=aFa-a κανόνας 2
Το scratch είναι μια δυναμική γλώσσα προγραμματισμού που
δημιουργήθηκε από το MIT Media Lab (ερευνητικό εργαστήριο) που
προσφέρει ένα μαθησιακό περιβάλλον και καθιστά εύκολη τη
κατασκευή:
Προγραμματισμός
με το Scratch
o Αλληλεπιδραστικών ιστοριών
o Παιχνιδιών
o Animations (κινούμενα σχέδια)
o Simulations (προσομοιώσεων)
o Ψηφιακή τέχνη
Το scratch ανήκει στη κατηγορία των ανοικτών μικρόκοσμων στους
οποίους υπάρχουν οντότητες και με αυτές ο χρήστης δημιουργεί
αντικείμενα
14
Ναστάκου Μαρία * L- systems * Μάιος 2013
Το καινοτόμο στη γλώσσα scratch είναι ότι για να γράψουμε
ένα πρόγραμμα
o Δεν πληκτρολογούμε το κώδικα
o Η γλώσσα δομείται όπως ένα πάζλ
o Σύρουμε έτοιμες τις εντολές
Προγραμματισμός
με το Scratch
15
Ναστάκου Μαρία * L- systems * Μάιος 2013
Το scratch μπορεί να συνδράμει σημαντικά στην υποβοήθηση της
εκπαίδευσης και κυρίως για τη πληροφορική, τα Μαθηματικά και τις
φυσικές επιστήμες.
o Είναι μια πρακτική μάθησης μέσω σχεδιασμού
oΠροσφέρει ευκαιρίες ομαδοσυνεργατικής μάθησης.
o Ευκολία δημοσίευσης και διαμοιρασμού των έργων στο διαδίκτυο
…δημιουργική
εκπαιδευτική συναλλαγή
16
Ναστάκου Μαρία * L- systems * Μάιος 2013
o την οπτικοποίηση φυσικών φαινομένων- μεγεθών (π.χ.
ανάκλαση ,κάτοπτρο , υδροστατική πίεση κύκλος του νερού)
o δυνατότητα εμφάνισης διασυνδεδεμένων πολλαπλών
αναπαραστάσεων
o άμεσος χειρισμός των εικονικών αντικειμένων
Στην εκπαιδευτική διαδικασία
π.χ. στις φυσικές επιστήμες βοηθά για:
17
Ναστάκου Μαρία * L- systems * Μάιος 2013
o Να δημιουργήσει συλλογές έργων όπως:
•geography
Στην εκπαιδευτική διαδικασία
•Best of Geometry
•Math projects
•Physics Lab at Scratch
•Optics for Education
•Cellular Automaton and L-System
18
Ναστάκου Μαρία * L- systems * Μάιος 2013
o Συμμετέχουν σε συζητήσεις (forum) και ανταλλάσσουν εμπειρίες και
έργα με συναδέλφους.
o μπορούν να εντοπίσουν και άλλους εκπαιδευτικούς που χρησιμοποιούν
το scratch από τη περιοχή τους αλλά και από όλο τον κόσμο.
o Να ενημερωθούν για διάφορες εκδηλώσεις ή πηγές σχετικά με το
scratch
Το scratched είναι ένας ιστότοπος που έχουν δημιουργήσει οι άνθρωποι
του scratch ειδικά για τους εκπαιδευτικούς.
19
Ναστάκου Μαρία * L- systems * Μάιος 2013
Scratch 2.0
o Μπορείς να δημιουργήσεις νέα blocks-εντολές
o backup (αποθήκευση sprites και blocks)
o cloud data : με τη χρήση μεταβλητών δημιουργείς δεδομένα στα
οποία μπορούν να έχουν πρόσβαση όλα τα μέλη
o κλωνοποίηση να δημιουργείς πολλά αντίγραφα ενός και μόνο script
o να χρησιμοποιήσεις τη web-camera για την ανίχνευση κινήσεων
σώματος
Είναι η νέα έκδοση του scratch που μπορείς να προγραμματίζεις online
Με επιπλέον χρήσιμα χαρακτηριστικά:
20
Ναστάκου Μαρία * L- systems * Μάιος 2013
kinect2scratch … επιτρέπει
δεδομένα από το Microsoft
Kinect controller να
σταλούν στο scratch
(γλώσσα προγραμματισμού
για παιδιά)
Ο καθένας δλδ μπορεί να
γράφει προγράμματα με
έλεγχο κίνησης με χρήση
χειρονομιών φτιάχνεις
παιχνίδια και γενικά κάνεις
άλματα στη διασκέδαση και
στη μάθηση
kinect2scratch
21
Ναστάκου Μαρία * L- systems * Μάιος 2013
22
Ναστάκου Μαρία * L- systems * Μάιος 2013
Υλοποίηση στο scratch
Για τη σχεδίαση της τρέχουσας γενιάς
o τρεις λίστες(d, x, y)
o ένα δείκτη j που δείχνει στη
συμβολοσειρά (τρέχουσα γενιά)
o c είναι το γράμμα που δείχνει το j
Για τη παραγωγή της επόμενης γενιάς
ορίζουμε σαν γενιά τη προηγούμενη γενιά
o δείκτης i που δείχνει στη συμβολοσειρά
(προηγούμενη γενιά)
variables : F
Constants + − [ ]
start : F+F-F
rules : F→ F+F-F
angle : 120°
23
Ναστάκου Μαρία * L- systems * Μάιος 2013
καλοκαίρι-Tetragon curve
Μέλος της οικογένειας των αυτοπαρόμοιων
fractal curves που μπορούμε να
προσεγγίσουμε με αναδρομικές μεθόδους
όπως τα L-systems
http://scratch.mit.edu/projects/marynasta/2708029
24
Ναστάκου Μαρία * L- systems * Μάιος 2013
Φθινόπωρο-
δομή διακλάδωσης
variables : F
constants : + − [ ]
start : F
rules : F→ FF-[-F+F+F]+[+F-F-F]
angle : 22.5°
25
Ναστάκου Μαρία * L- systems * Μάιος 2013
variables : F
constants : + − [ ]
start: F++F++F
rules: F→ F-F++F-F
angle : 60°
Χειμώνας – koch curve
Πρότυπο L-system
variables : F
constants : + − [ ]
start : [F]
rules : F→ F[+F][-F] ,
F→ F[+FL][-FL][FL]
angle : 30°
26
Ναστάκου Μαρία * L- systems * Μάιος 2013
Άνοιξη – tree
Στη τελευταία επανάληψη παραγωγής της
τελευταίας γενιάς εφαρμόζεται ο δεύτερος
κανόνας που δημιουργεί και το ενδιάμεσο
κλαδί αλλά και την αποτύπωση των φύλλων
variables : F
constants : + −
start : F-F-F
rules : F→ F-F+F+F-F
angle : 120°
27
Ναστάκου Μαρία * L- systems * Μάιος 2013
Sierpinski – triangle
Μέλος της οικογένειας των αυτοπαρόμοιων
fractal curves που μπορούμε να
προσεγγίσουμε με αναδρομικές μεθόδους
όπως τα L-systems
http://scratch.mit.edu/projects/marynasta/2808241
variables : F,Χ
constants : + −
start : F-F-F
rules : F→ F-F+F+F-F, X→FF
angle : 120°
28
Ναστάκου Μαρία * L- systems * Μάιος 2013
Sierpinski – version2
http://scratch.mit.edu/projects/marynasta/2829785
29
Ναστάκου Μαρία * L- systems * Μάιος 2013
Sierpinski – scratch 2.0
χρήση κατάλληλου νέου block-εντολής
που είναι μια εντολή αναδρομής
http://beta.scratch.mit.edu/projects/10040902/
variables : F,angle
constants : + , − , [ , ]
start : [F]
rules : F→ F[+FL][-FL]
angle : μεταβλητή
30
Ναστάκου Μαρία * L- systems * Μάιος 2013
Real-olive tree
Η γωνία διακλάδωσης αλλάζει σε κάθε
επανάληψη . Ενώ σε κάθε διακλάδωση είναι
διαφορετικό το πάχος κάθε κλάδου
http://scratch.mit.edu/projects/marynasta/2818889
variables : F
constants : + , − , [ , ]
start : - F-
rules : F→ F+F-F-F+F-F
Angle : 90
Direction : 72
31
Ναστάκου Μαρία * L- systems * Μάιος 2013
Περιοδικό tiling
Περιοδικού τύπου επικάλυψη που λαμβάνεται
με τη μετατόπιση των πρωτότυπων πλακιδίων
κατά ορισμένη απόσταση και κατεύθυνση.
http://scratch.mit.edu/projects/marynasta/28625
87
Ναστάκου Μαρία * L- systems * Μάιος 2013 32
Star_in_star
variables : F
constants : + , − , [ , ]
start : F
rules : F→ [F[+F][-F]F[++F][--F]],
F→ FF
Angle : 90o
http://scratch.mit.edu/projects/marynasta/31797
34
33
Ναστάκου Μαρία * L- systems * Μάιος 2013
Απεριοδικό tiling
Χρησιμοποιούνται 4 διαφορετικές
ενδυμασίες για τη κάλυψη της
επιφάνειας με αποτύπωση
(σφραγίδα)
o αυτοπαρόμοιο
o πενταπλή συμμετρία
o συμμετρία ανάκλασης
http://scratch.mit.edu/projects/marynasta/2959
475
Ναστάκου Μαρία * L- systems * Μάιος 2013
34
Βιβλιογραφία-πηγές
1.Rick Diefenderfer , Applied to the Structure & Strategy of a Cell-Based Church System , Creating Christian Communities 2009.ppt
2. Christopher G. Jennings, The Tickle Trunk Lindenmayer Systems,
Graphics, Visualization, and Usability Lab Department of Computing Science Simon Fraser University (http://cgjennings.ca/toybox/lsystems/index.html)
3. William McWorter, Fractint L-System Spacefilling Curves, mcworter@midohio.net
version 1.4 January 1997, http://www.nahee.com/spanky/www/fractint/lsys/truefractal.html
4. Gabriela Ochoa, An Introduction to Lindenmayer Systems, School of Cognitive and Computing Sciences The University of Sussex http://www.biologie.uni-hamburg.de/b-
online/e28_3/lsys.html
5. Umberto Roncoroni. LSystems Tutorial For Artists, First Published: August 2007. Updated: March, 2008
6. " Area and Perimeter of a Sierpinski triangle " youtube , Area and Perimeter of a Sierpinski triangle (ανάκτηση 23 Οκτωβρίου 2012),
https://www.youtube.com/watch?v=5plLxMnbtAw
7. "Dragon curve", Wikipedia, The Free Encyclopedia, (ανάκτηση 20 Οκτωβρίου 2012), http://en.wikipedia.org/wiki/Dragon_curve
8. "Hilbert", Wikipedia, The Free Encyclopedia, (ανάκτηση 11 Μαρτίου 2013),
http://en.wikipedia.org/wiki/Hilbert_curve
9. "Koch snowflake", Wikipedia, The Free Encyclopedia, (ανάκτηση 20 Οκτωβρίου 2012),http://en.wikipedia.org/wiki/Koch_snowflake
10. "Kolam", Wikipedia, The Free Encyclopedia, (ανάκτηση 11 Μαρτίου 2013),
http://en.wikipedia.org/wiki/Kolam
11. "L-system", Wikipedia, The Free Encyclopedia, (ανάκτηση 5 Νοεμβρίου 2012), http://en.wikipedia.org/wiki/L-system
12. "Peano curve", Wikipedia, The Free Encyclopedia, (ανάκτηση 11 Μαρτίου 2013), http://en.wikipedia.org/wiki/Peano%27s_curves
13. "Penrose tiling", Wikipedia, The Free Encyclopedia, (ανάκτηση 20 Οκτωβρίου 2012), http://en.wikipedia.org/wiki/Penrose_tiling
14. "Scratch (programming language)" Wikipedia, The Free Encyclopedia, (ανάκτηση 5 Μαρτίου 2013), http://en.wikipedia.org/wiki/Scratch_(programming_language
15. "Scratch" Wikipedia, The Free Encyclopedia, (ανάκτηση 5 Μαρτίου 2013), http://goo.gl/BaonK
16. " Scratched" youtube , δικτυακός τόπος (ανάκτηση 8 Μαρτίου 2013), http://scratched.media.mit.edu/about
17. " Scratch 2.0" youtube , Scratch 2.0 Preview (ανάκτηση 8 Μαρτίου 2012), https://www.youtube.com/watch?v=z4UIf7gDojg
18. "Sierpinski_triangle " Wikipedia, The Free Encyclopedia, (ανάκτηση 5 Μαρτίου 2013), http://en.wikipedia.org/wiki/Sierpinski_triangle
19. "Επιμορφωτικό υλικό για την επιμόρφωση των εκπαιδευτικών στα ΚΣΕ " Ινστιτούτο Τεχνολογίας Υπολογιστών, Τομέας Επιμόρφωσης και Κατάρτισης, Πάτρα , Δεκέμβριος 2010
20. Przemyslaw Prusinkiewicz, Aristid Lindenmayer. The Algorithmic Beauty of Plants, published by Springer-Verlag, New York, in 1990
http://algorithmicbotany.org/papers/abop/abop.pdf
http://195.251.38.253:8080/xmlui/handle/123456789
/985

L-systems

  • 1.
    L-systems και υλοποίηση στοscratch Ναστάκου Μαρία Διπλωματική εργασία Επιβλέπων καθηγητής: Νικόλαος Πλατής
  • 2.
    Πίστευε ότι ηδιαδικασία ανάπτυξης των φυτών βασίζεται στη γεωμετρία των fractals και για να μελετήσει τη μορφή τους στράφηκε σ΄ ένα μαθηματικό εργαλείο που ονομάζεται L-system L-systems – είδος fractals 2 Ναστάκου Μαρία * L- systems * Μάιος 2013 Mandelbrot Τα Fractals είναι γεωμετρικά σχήματα που περιγράφουν τους σχηματισμούς της φύσης και παρουσιάζουν εντυπωσιακά χαρακτηριστικά: o πολυπλοκότητα o αισθητικότητα o αυτοομοιότητα o διάσταση μικρότερη του 2 (ή ανάμεσα στο 2 και 3 – καμπύλη επιφάνεια ) Prusinkiewicz
  • 3.
    Τα L-systems γιαπρώτη φορά παρουσιάστηκαν το 1968 από τον Aristid Lindenmayer 1925-1989) σαν μια μαθηματική θεωρία της ανάπτυξης των φυτών, που χρησιμοποιήθηκε για να μοντελοποιήσει o τη διαδικασία ανάπτυξης των φυτών o τη μορφολογία μεγάλης ποικιλίας οργανισμών, αλλά και ανόργανες μορφές όπως κρύσταλλοι ή άλλες φυσικές μορφές Lindenmayer-1968 3 Ναστάκου Μαρία * L- systems * Μάιος 2013 Πολύπλοκες δομές διακλάδωσης Ανώτερα φυτά πολυκύτταροι
  • 4.
    Κεντρική έννοια τωνL-systems είναι η έννοια της επανεγγραφής. τεχνική με βάση την οποία καθορίζονται σύνθετα αντικείμενα με διαδοχική αντικατάσταση μερών από ένα απλό αρχικό αντικείμενο χρησιμοποιώντας ένα σύνολο κανόνων επανεγγραφής ή αναπαραγωγής. Η επανεγγραφή μπορεί να γίνει αναδρομικά L-systems & αυτοομοιότητα τα L-systems είναι βασικά αναδρομικές διαδικασίες 4 Ναστάκου Μαρία * L- systems * Μάιος 2013 υποκατάσταση συμβόλων από σύμβολα γραφική αναπαράσταση των συμβολοσειρών.
  • 5.
    Τα L-systems είναιτώρα κοινώς γνωστά ως παραμετρικά συστήματα που ορίζονται από μια πλειάδα: G = (V, ω, P), όπου: o V (το αλφάβητο) είναι ένα σύνολο συμβόλων που περιέχουν στοιχεία τα οποία μπορούν ν’ αντικατασταθούν (μεταβλητές) o ω (αξίωμα) είναι μια σειρά συμβόλων από το V που ορίζει την αρχική κατάσταση του συστήματος. o P είναι το σύνολο κανόνων παραγωγής που καθορίζουν τον τρόπο με τον οποίο οι μεταβλητές μπορούν ν’ αντικατασταθούν με συνδυασμό των σταθερών και άλλων μεταβλητών. Γραμματική τερματικά σύμβολα μη τερματικά σύμβολα αξίωμα κανόνες παραγωγής 5 Ναστάκου Μαρία * L- systems * Μάιος 2013
  • 6.
    Χαρακτηριστικό γνώρισμα τωνL-systems είναι η ταυτόχρονη εφαρμογή των κανόνων που τα διακρίνει από μια τυπική γλώσσα που παράγεται από μια τυπική γραμματική. Γραμματική Έτσι τα L-systems δεν είναι γλώσσα αλλά αυστηρά υποσύνολα γλωσσών 6 Ναστάκου Μαρία * L- systems * Μάιος 2013 Οι λέξεις κτίζονται αναδρομικά εφαρμόζοντας τους κανόνες παραγωγής σε κάθε επανάληψη για να σχηματίσουν μεγαλύτερες και πολυπλοκότερες: o Αξίωμα (αρχική συμβολοσειρά) o κανόνες για κάθε μη τερματικό σύμβολο --- νέα μεγαλύτερη συμβολοσειρά o επανάληψη όσες φορές ορίσουμε εμείς---τελική συμβολοσειρά (l- system.
  • 7.
    Τα L-systems επεκτείνουνσυμβολοσειρές (strings) και η επέκταση αυτή βασίζεται σε ντετερμινιστικούς κανόνες(προβλέψιμο το αποτέλεσμα). Η διαδικασία της επανεγγραφής αρχίζει από ένα αρχικό string. κάθε εμφάνιση του συμβόλου Α στη τρέχουσα συμβολοσειρά αντικαθίσταται από το ΑΒ … Γενικό παράδειγμα 7 Ναστάκου Μαρία * L- systems * Μάιος 2013
  • 8.
    L-system «χελώνα» Ένα απλόL-system ονομαζόμενο «χελώνα» (ή αντίστοιχα γάτα του scratch, χρησιμοποιείται για τη γεωμετρική απεικόνιση δομών Η χελώνα(η ο γάτος για το scratch με τις εντολές της πένας) είναι ένα εργαλείο ζωγραφικής για τη γεωμετρική ερμηνεία μιας παραγόμενης συμβολοσειράς(string) Καθώς διαβάζεται η συμβολοσειρά η χελώνα εκτελεί συγκεκριμένες εντολές για ορισμένα σύμβολα και αλλάζει τη θέση-κατάστασή της. Κάθε μετακίνηση ορίζεται με πέντε θεμελιώδη σύμβολα που είναι τα F,+,-,[,]. F σημαίνει «κινήσου προς τα εμπρός». + σημαίνει «στρίψε προς τα δεξιά κατά μια συγκεκριμένη γωνία » - σημαίνει «στρίψε προς τα αριστερά κατά μια συγκεκριμένη γωνία » [ σημαίνει «θυμήσου αυτό το σημείο-τοποθεσία» ] σημαίνει «επέστρεψε στο σημείο της μνήμης 8 Ναστάκου Μαρία * L- systems * Μάιος 2013
  • 9.
    9 Ναστάκου Μαρία *L- systems * Μάιος 2013 παραδείγματα L-systems Peano Hilbert Levy Koch sierpinski Dragon
  • 10.
    10 Ναστάκου Μαρία *L- systems * Μάιος 2013 Ειδικά παραδείγματα L-systems Tiling: είναι η κάλυψη ενός επιπέδου με πλακάκια χωρίς επικαλύψεις και κενά. Μπορούν να εκφραστούν ως L-systems αφού παράγονται με αναδρομικές διαδικασίες : Επανάληψη περιοδικά ή απεριοδικά μιας ομάδας πρωτότυπων πλακών (prototiles). Δομές διακλάδωσης: Τα χρησιμοποιούμε για να προσομοιώσουμε την ανάπτυξη φυτών και δέντρων. Χρησιμοποιούμε τις αγκύλες ως σύμβολα οριοθέτησης των κλάδων. (bracketed L-Systems)
  • 11.
    11 Είδη L-systems Τα L-systemsείναι ντετερμινιστικά συστήματα. H προσθήκη βελτιώσεων είχε σαν αποτέλεσμα διαφορετικά είδη: o Πρότυπα (εφαρμόζεται ένας κανόνας για κάθε μη τερματικό σύμβολο) Π.χ.καμπύλη του «von Koch» o Στοχαστικά (για κάθε μη τερματικό σύμβολο χρησιμοποιούμε 2 ή περισσότερους κανόνες με πιθανότητες) – επιλέγονται με βάση κάποια παράμετρο βαρύτητας Ναστάκου Μαρία * L- systems * Μάιος 2013 variables : F constants : + − [ ] start: F++F++F rules: F→ F-F++F-F angle : 60° a=a+b κανόνας 1a 50% πιθανότητα a=a-bb κανόνας 1b 50% πιθανότητα b=aFa-a κανόνας 2a 30% πιθανότητα b=aFFba κανόνας 2b 70% πιθανότητα
  • 12.
    12 oΠαραμετρικά : (είναιο συνδυασμός των αριθμητικών παραμέτρων και των συμβόλων) κάθε σύμβολο έχει μια λίστα από παραμέτρους που σχετίζονται με αυτό. Ένα σύμβολο σε συνδυασμό με τη λίστα παραμέτρων του ονομάζεται module και μια συμβολοσειρά είναι μια σειρά από modules.(π.χ. a(0,1)[b(0,0)]a(1,2)) a(x,y) : x = 0 → a(1, y+1)b(2,3) κανόνας παραγωγής (ο κανόνας εφαρμόζεται όταν ικανοποιείται ο όρος x = 0) Στο τμήμα τροποποίησης του κανόνα παραγωγής οι παράμετροι καθώς και ολόκληρα τα modules μπορεί να επηρεαστούν. Το module b(x,y) προστίθεται στη συμβολοσειρά με αρχικές παραμέτρους (2,3). Επίσης οι παράμετροι του ήδη υπάρχοντος module έχουν τροποποιηθεί σύμφωνα με το κανόνα παραγωγής a(0,2) → a(1,3)b(2,3) Είδη L-systems Ναστάκου Μαρία * L- systems * Μάιος 2013
  • 13.
    13 o Χρονικά (οικανόνες εξαρτώνται από μεταβλητές χρόνου όπως επαναλήψεις, βρόγχοι, ηλικία κ.λ.π.) Ναστάκου Μαρία * L- systems * Μάιος 2013 a , b μη τερματικά σύμβολα + , - , F τερματικά σύμβολα a το αξίωμα a = a+b κανόνας που ισχύει στη 1η επανάληψη a = ab κανόνας που ισχύει στη 2η επανάληψη a = a[+b] κανόνας που ισχύει στη 3η επανάληψη a = ab κανόνας που ισχύει στη 4η επανάληψη b=aFb-a κανόνας που ισχύει για όλες τις επαναλήψεις Είδη L-systems o Εξαρτώμενα από τα συμφραζόμενα (οι κανόνες επιλέγονται ανάλογα με τους γείτονες του ενεργού συμβόλου) a , b μη τερματικά σύμβολα + , - , F τερματικά σύμβολα a το αξίωμα a(>null or [ or ]) = a+b κανόνας 1a a (>+)= a[+b] κανόνας 1b a (>F)= ab κανόνας 1c a (>b)= null κανόνας 1d b=aFa-a κανόνας 2
  • 14.
    Το scratch είναιμια δυναμική γλώσσα προγραμματισμού που δημιουργήθηκε από το MIT Media Lab (ερευνητικό εργαστήριο) που προσφέρει ένα μαθησιακό περιβάλλον και καθιστά εύκολη τη κατασκευή: Προγραμματισμός με το Scratch o Αλληλεπιδραστικών ιστοριών o Παιχνιδιών o Animations (κινούμενα σχέδια) o Simulations (προσομοιώσεων) o Ψηφιακή τέχνη Το scratch ανήκει στη κατηγορία των ανοικτών μικρόκοσμων στους οποίους υπάρχουν οντότητες και με αυτές ο χρήστης δημιουργεί αντικείμενα 14 Ναστάκου Μαρία * L- systems * Μάιος 2013
  • 15.
    Το καινοτόμο στηγλώσσα scratch είναι ότι για να γράψουμε ένα πρόγραμμα o Δεν πληκτρολογούμε το κώδικα o Η γλώσσα δομείται όπως ένα πάζλ o Σύρουμε έτοιμες τις εντολές Προγραμματισμός με το Scratch 15 Ναστάκου Μαρία * L- systems * Μάιος 2013
  • 16.
    Το scratch μπορείνα συνδράμει σημαντικά στην υποβοήθηση της εκπαίδευσης και κυρίως για τη πληροφορική, τα Μαθηματικά και τις φυσικές επιστήμες. o Είναι μια πρακτική μάθησης μέσω σχεδιασμού oΠροσφέρει ευκαιρίες ομαδοσυνεργατικής μάθησης. o Ευκολία δημοσίευσης και διαμοιρασμού των έργων στο διαδίκτυο …δημιουργική εκπαιδευτική συναλλαγή 16 Ναστάκου Μαρία * L- systems * Μάιος 2013
  • 17.
    o την οπτικοποίησηφυσικών φαινομένων- μεγεθών (π.χ. ανάκλαση ,κάτοπτρο , υδροστατική πίεση κύκλος του νερού) o δυνατότητα εμφάνισης διασυνδεδεμένων πολλαπλών αναπαραστάσεων o άμεσος χειρισμός των εικονικών αντικειμένων Στην εκπαιδευτική διαδικασία π.χ. στις φυσικές επιστήμες βοηθά για: 17 Ναστάκου Μαρία * L- systems * Μάιος 2013
  • 18.
    o Να δημιουργήσεισυλλογές έργων όπως: •geography Στην εκπαιδευτική διαδικασία •Best of Geometry •Math projects •Physics Lab at Scratch •Optics for Education •Cellular Automaton and L-System 18 Ναστάκου Μαρία * L- systems * Μάιος 2013
  • 19.
    o Συμμετέχουν σεσυζητήσεις (forum) και ανταλλάσσουν εμπειρίες και έργα με συναδέλφους. o μπορούν να εντοπίσουν και άλλους εκπαιδευτικούς που χρησιμοποιούν το scratch από τη περιοχή τους αλλά και από όλο τον κόσμο. o Να ενημερωθούν για διάφορες εκδηλώσεις ή πηγές σχετικά με το scratch Το scratched είναι ένας ιστότοπος που έχουν δημιουργήσει οι άνθρωποι του scratch ειδικά για τους εκπαιδευτικούς. 19 Ναστάκου Μαρία * L- systems * Μάιος 2013
  • 20.
    Scratch 2.0 o Μπορείςνα δημιουργήσεις νέα blocks-εντολές o backup (αποθήκευση sprites και blocks) o cloud data : με τη χρήση μεταβλητών δημιουργείς δεδομένα στα οποία μπορούν να έχουν πρόσβαση όλα τα μέλη o κλωνοποίηση να δημιουργείς πολλά αντίγραφα ενός και μόνο script o να χρησιμοποιήσεις τη web-camera για την ανίχνευση κινήσεων σώματος Είναι η νέα έκδοση του scratch που μπορείς να προγραμματίζεις online Με επιπλέον χρήσιμα χαρακτηριστικά: 20 Ναστάκου Μαρία * L- systems * Μάιος 2013
  • 21.
    kinect2scratch … επιτρέπει δεδομένααπό το Microsoft Kinect controller να σταλούν στο scratch (γλώσσα προγραμματισμού για παιδιά) Ο καθένας δλδ μπορεί να γράφει προγράμματα με έλεγχο κίνησης με χρήση χειρονομιών φτιάχνεις παιχνίδια και γενικά κάνεις άλματα στη διασκέδαση και στη μάθηση kinect2scratch 21 Ναστάκου Μαρία * L- systems * Μάιος 2013
  • 22.
    22 Ναστάκου Μαρία *L- systems * Μάιος 2013 Υλοποίηση στο scratch Για τη σχεδίαση της τρέχουσας γενιάς o τρεις λίστες(d, x, y) o ένα δείκτη j που δείχνει στη συμβολοσειρά (τρέχουσα γενιά) o c είναι το γράμμα που δείχνει το j Για τη παραγωγή της επόμενης γενιάς ορίζουμε σαν γενιά τη προηγούμενη γενιά o δείκτης i που δείχνει στη συμβολοσειρά (προηγούμενη γενιά)
  • 23.
    variables : F Constants+ − [ ] start : F+F-F rules : F→ F+F-F angle : 120° 23 Ναστάκου Μαρία * L- systems * Μάιος 2013 καλοκαίρι-Tetragon curve Μέλος της οικογένειας των αυτοπαρόμοιων fractal curves που μπορούμε να προσεγγίσουμε με αναδρομικές μεθόδους όπως τα L-systems http://scratch.mit.edu/projects/marynasta/2708029
  • 24.
    24 Ναστάκου Μαρία *L- systems * Μάιος 2013 Φθινόπωρο- δομή διακλάδωσης variables : F constants : + − [ ] start : F rules : F→ FF-[-F+F+F]+[+F-F-F] angle : 22.5°
  • 25.
    25 Ναστάκου Μαρία *L- systems * Μάιος 2013 variables : F constants : + − [ ] start: F++F++F rules: F→ F-F++F-F angle : 60° Χειμώνας – koch curve Πρότυπο L-system
  • 26.
    variables : F constants: + − [ ] start : [F] rules : F→ F[+F][-F] , F→ F[+FL][-FL][FL] angle : 30° 26 Ναστάκου Μαρία * L- systems * Μάιος 2013 Άνοιξη – tree Στη τελευταία επανάληψη παραγωγής της τελευταίας γενιάς εφαρμόζεται ο δεύτερος κανόνας που δημιουργεί και το ενδιάμεσο κλαδί αλλά και την αποτύπωση των φύλλων
  • 27.
    variables : F constants: + − start : F-F-F rules : F→ F-F+F+F-F angle : 120° 27 Ναστάκου Μαρία * L- systems * Μάιος 2013 Sierpinski – triangle Μέλος της οικογένειας των αυτοπαρόμοιων fractal curves που μπορούμε να προσεγγίσουμε με αναδρομικές μεθόδους όπως τα L-systems http://scratch.mit.edu/projects/marynasta/2808241
  • 28.
    variables : F,Χ constants: + − start : F-F-F rules : F→ F-F+F+F-F, X→FF angle : 120° 28 Ναστάκου Μαρία * L- systems * Μάιος 2013 Sierpinski – version2 http://scratch.mit.edu/projects/marynasta/2829785
  • 29.
    29 Ναστάκου Μαρία *L- systems * Μάιος 2013 Sierpinski – scratch 2.0 χρήση κατάλληλου νέου block-εντολής που είναι μια εντολή αναδρομής http://beta.scratch.mit.edu/projects/10040902/
  • 30.
    variables : F,angle constants: + , − , [ , ] start : [F] rules : F→ F[+FL][-FL] angle : μεταβλητή 30 Ναστάκου Μαρία * L- systems * Μάιος 2013 Real-olive tree Η γωνία διακλάδωσης αλλάζει σε κάθε επανάληψη . Ενώ σε κάθε διακλάδωση είναι διαφορετικό το πάχος κάθε κλάδου http://scratch.mit.edu/projects/marynasta/2818889
  • 31.
    variables : F constants: + , − , [ , ] start : - F- rules : F→ F+F-F-F+F-F Angle : 90 Direction : 72 31 Ναστάκου Μαρία * L- systems * Μάιος 2013 Περιοδικό tiling Περιοδικού τύπου επικάλυψη που λαμβάνεται με τη μετατόπιση των πρωτότυπων πλακιδίων κατά ορισμένη απόσταση και κατεύθυνση. http://scratch.mit.edu/projects/marynasta/28625 87
  • 32.
    Ναστάκου Μαρία *L- systems * Μάιος 2013 32 Star_in_star variables : F constants : + , − , [ , ] start : F rules : F→ [F[+F][-F]F[++F][--F]], F→ FF Angle : 90o http://scratch.mit.edu/projects/marynasta/31797 34
  • 33.
    33 Ναστάκου Μαρία *L- systems * Μάιος 2013 Απεριοδικό tiling Χρησιμοποιούνται 4 διαφορετικές ενδυμασίες για τη κάλυψη της επιφάνειας με αποτύπωση (σφραγίδα) o αυτοπαρόμοιο o πενταπλή συμμετρία o συμμετρία ανάκλασης http://scratch.mit.edu/projects/marynasta/2959 475
  • 34.
    Ναστάκου Μαρία *L- systems * Μάιος 2013 34 Βιβλιογραφία-πηγές 1.Rick Diefenderfer , Applied to the Structure & Strategy of a Cell-Based Church System , Creating Christian Communities 2009.ppt 2. Christopher G. Jennings, The Tickle Trunk Lindenmayer Systems, Graphics, Visualization, and Usability Lab Department of Computing Science Simon Fraser University (http://cgjennings.ca/toybox/lsystems/index.html) 3. William McWorter, Fractint L-System Spacefilling Curves, mcworter@midohio.net version 1.4 January 1997, http://www.nahee.com/spanky/www/fractint/lsys/truefractal.html 4. Gabriela Ochoa, An Introduction to Lindenmayer Systems, School of Cognitive and Computing Sciences The University of Sussex http://www.biologie.uni-hamburg.de/b- online/e28_3/lsys.html 5. Umberto Roncoroni. LSystems Tutorial For Artists, First Published: August 2007. Updated: March, 2008 6. " Area and Perimeter of a Sierpinski triangle " youtube , Area and Perimeter of a Sierpinski triangle (ανάκτηση 23 Οκτωβρίου 2012), https://www.youtube.com/watch?v=5plLxMnbtAw 7. "Dragon curve", Wikipedia, The Free Encyclopedia, (ανάκτηση 20 Οκτωβρίου 2012), http://en.wikipedia.org/wiki/Dragon_curve 8. "Hilbert", Wikipedia, The Free Encyclopedia, (ανάκτηση 11 Μαρτίου 2013), http://en.wikipedia.org/wiki/Hilbert_curve 9. "Koch snowflake", Wikipedia, The Free Encyclopedia, (ανάκτηση 20 Οκτωβρίου 2012),http://en.wikipedia.org/wiki/Koch_snowflake 10. "Kolam", Wikipedia, The Free Encyclopedia, (ανάκτηση 11 Μαρτίου 2013), http://en.wikipedia.org/wiki/Kolam 11. "L-system", Wikipedia, The Free Encyclopedia, (ανάκτηση 5 Νοεμβρίου 2012), http://en.wikipedia.org/wiki/L-system 12. "Peano curve", Wikipedia, The Free Encyclopedia, (ανάκτηση 11 Μαρτίου 2013), http://en.wikipedia.org/wiki/Peano%27s_curves 13. "Penrose tiling", Wikipedia, The Free Encyclopedia, (ανάκτηση 20 Οκτωβρίου 2012), http://en.wikipedia.org/wiki/Penrose_tiling 14. "Scratch (programming language)" Wikipedia, The Free Encyclopedia, (ανάκτηση 5 Μαρτίου 2013), http://en.wikipedia.org/wiki/Scratch_(programming_language 15. "Scratch" Wikipedia, The Free Encyclopedia, (ανάκτηση 5 Μαρτίου 2013), http://goo.gl/BaonK 16. " Scratched" youtube , δικτυακός τόπος (ανάκτηση 8 Μαρτίου 2013), http://scratched.media.mit.edu/about 17. " Scratch 2.0" youtube , Scratch 2.0 Preview (ανάκτηση 8 Μαρτίου 2012), https://www.youtube.com/watch?v=z4UIf7gDojg 18. "Sierpinski_triangle " Wikipedia, The Free Encyclopedia, (ανάκτηση 5 Μαρτίου 2013), http://en.wikipedia.org/wiki/Sierpinski_triangle 19. "Επιμορφωτικό υλικό για την επιμόρφωση των εκπαιδευτικών στα ΚΣΕ " Ινστιτούτο Τεχνολογίας Υπολογιστών, Τομέας Επιμόρφωσης και Κατάρτισης, Πάτρα , Δεκέμβριος 2010 20. Przemyslaw Prusinkiewicz, Aristid Lindenmayer. The Algorithmic Beauty of Plants, published by Springer-Verlag, New York, in 1990 http://algorithmicbotany.org/papers/abop/abop.pdf http://195.251.38.253:8080/xmlui/handle/123456789 /985