Μαθηµατικά ΣΚΟΠΟΣ Σχηµ ατίζονται δύο ελικοειδείς καµπύλες και ο χρήστης επιλέγει τις παραµέτρους που τις καθορίζουν. Χρησιµοποιούνται µεταξύ άλλων τα χειριστήρια πλαίσιο εικόνας (PictureBox), ροοστάτης (Slider), εικόνα (Image), ετικέτα (Label), ένα εικονίδιο (Ico), µαθηµατικές συναρτήσεις κ.ά. 91
VISUAL BASIC - ΟΛΟΚΛΗΡΩΜΕΝΕΣ ΕΦΑΡΜΟΓΕΣ ΘΕΩΡΙΑ Πολλοί σχηµατισµοί στη φύση έχουν ελικοειδή µορφή. Ο ναυτίλος (το προϊστορικό θαλασσινό που δεν έχει αλλάξει για εκατοµµύρια χρόνια) είναι ίσως η πιο αντιπροσωπευτική περίπτωση, αλλά και όλα σχεδόν τα κοχύλια παρουσιάζουν παρόµοια µορφή. Το µέγεθός τους αυξάνεται ενώ το σχήµα τους παραµένει αναλλοίωτο. Στο φυτικό βασίλειο επίσης, οι σπόροι σε πολλά φυτά, όπως το ηλιοτρόπιο, διατάσσονται µε κάποια ελικοειδή µορφή. Οι ελικοειδείς καµπύλες µε την απλότητά τους, τη συµµετρία τους και τη συχνή παρουσία τους στη φύση συγκέντρωσαν το ενδιαφέρον µεγάλων µαθηµατικών όπως ο Καρτέσιος, ο Τορικέλι και ο Τζάκοµπ Μπερνούλι. Ο τελευταίος χαρακτήρισε τη λογαριθµική σπείρα ως spira mirabilis (θαυµαστή έλικα) και ζήτησε να χαραχθεί στο µνήµα του το σχήµα της µε την φράση Eadem mutata resurgo (θα επιστρέφω ο ίδιος αν και µεταβαλλόµενος). ύο είναι τα κύρια είδη της ελικοειδούς καµπύλης: η σπείρα του Αρχιµήδη και η λογαριθµική σπείρα. Στην πρώτη, η ακτίνα r αυξάνεται ανάλογα µε την διαγραφόµενη γωνία, δηλ. r = k θ. Στο Σχ.1α φαίνεται η γραφική παράσταση µιας σπείρας του Αρχιµήδη. Ένα κουλουριασµένο φίδι έχει αυτό το σχήµα, όπως και ένα τυλιγµένο σχοινί. Περιορισµένος αριθµός οστράκων προτιµά να αναπτυχθεί σύµφωνα µε αυτή την ελικοειδή µορφή. Σχήµα 1α Σχήµα 1β 92
Μαθηµατικά Περισσότερο ενδιαφέρον παρου σιάζει η λογαριθµική σπείρα, Σχ.1β, που έχει προσελκύσει το µαθηµατικό ενδιαφέρον. Ορίζεται ως η καµπύλη r = r(θ ), τέτοια ώστε η γωνία ω που σ χηµατίζεται από την εφαπτοµένη σε έ να σηµείο της καµπύλης και την ακτίνα, από την αρχή των συντ εταγµένων σε εκείνο το σηµείο, να είναι σταθερή. Από το Σχ.2 έχουµε: Σχήµα 2 s r θ r tanω = = = σταϑ = σταϑ b. r r dr / dθ Με b δίνει σηµειώνουµε τη σταθερή ποσότητα. Ολοκλήρωση της τελευταίας εξίσωσης r 0 = r e bθ (1) όπου r 0 είναι το αρχικό µήκος της ακτίνας όταν θ = 0. Στο Σχ.1β φαίνεται η γραφική παράσταση της (1). 93
VISUAL BASIC - ΟΛΟΚΛΗΡΩΜΕΝΕΣ ΕΦΑΡΜΟΓΕΣ Ένας διαφορετικός τρόπος χάραξης της λογαριθµικής σπείρας φαίνεται στο Σχ.3: Σε ένα σύστηµα ηµιευθειών ε, ε, ε, που σχηµατίζουν µεταξύ τους ίσες γωνίες φ, ξεκινάµε από το τυχαίο σηµείο Α της ε και φέρνουµε την AA 1 κάθετη Σχήµα 3 στην ε. Συνεχίζουµε την ίδια διαδικασία φέρνοντας τις καθέτους A 1A 2, A 2 A3,. Η τεθλασµένη A A1 A2 A3... προσεγγίζει την λογαριθµική σπείρα. Από τα ορθογώνια τρίγωνα έχουµε: r 1 = r 0 cos φ και για την n -στή επανάληψη: 2 2 = r0 (cos φ) 3 3 = r0 (cos φ) r r n n 0 (cos φ r = r ) 94
Μαθηµατικά Κατά την n - στη επανάληψη η γωνία φ που θα έχει διαγραφεί θα είναι φ = n φ, οπότε η τελευταία σχέση δίνει: r n r 0 = (cos φ) φ φ Για φ =σταθ. η σχέση αυτή είναι όµοια µε την (1). Υπάρχει µια στενή σχέση µεταξύ της λογαριθµικής σπείρας και της ακολουθίας Fibonacci (βλ. παράδειγµα 2 ΑΡΙΘΜΟΙ Fibonacci, ΠΑΡΑΓΟΝΤΙΚΟ). Οι αριθµοί Fibonacci προκύπτουν µε τον κανόνα: ο n -στός όρος είναι το άθροισµα των δύο προηγουµένων. Π.χ. 1, 1, 2, 3, 5, 8, 13, 21, Ας κατασκευάσουµε τετράγωνα µε πλευρές του αριθµούς αυτούς και ας τα ταιριάξουµε µε τον τρόπο που φαίνεται στο Σχ.4. Παρατηρούµε ότι στο εσωτερικό του σχήµατος εµφανίζεται Σχήµα 4 κατά προσέγγιση µια λογαριθµική σπείρα. 95
VISUAL BASIC - ΟΛΟΚΛΗΡΩΜΕΝΕΣ ΕΦΑΡΜΟΓΕΣ ΕΚΤΕΛΕΣΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ Στη φόρµα υπάρχουν δύο πλαίσια εικόνας. Στο αριστερό εµφανίζεται η σπείρα του Αρχιµήδη στο άλλο η λογαριθµική σπείρα. Με τους αντίστοιχους ροοστάτες επιλέγουµε τις παραµέτρους. Κάνοντας κλικ στην ετικέτα µε το φίδι ή στην ετικέτα µε το ναυτίλο, παρακολουθούµε το σχηµατισµό των αντιστοίχων καµπυλών. ΟΠΤΙΚΗ ΥΛΟΠΟΙΗΣΗ Η φόρµα περιλαµβάνει δύο πλαίσια εικόνας µε τα χειριστήρια που φαίνονται στον Πίνακα Ι. Οι δύο εικόνες (Image) παίζουν το ρόλο του πλήκτρου εντολής. Η ιδιότητά τους Picture έχει ενηµερωθεί κατά το σχεδιασµό µε δύο εικόνες. Η ιδιότητά τους Stretch έχει ρυθµιστεί σε True, ώστε η τοποθετούµενη εικόνα να προσαρµόζεται στο διαθέσιµο χώρο του χειριστηρίου. Επίσης η Ιδιότητα Icon της φόρµας έχει ενηµερωθεί µε µια εικόνα τύπου Ico που είναι διαθέσιµη στον υπολογιστή. Μετά την οπτική υλοποίηση η φόρµα θα µοιάζει µε αυτή του Σχ. 5. ΠΙΝΑΚΑΣ Ι α/α Αντικ εί µενο Ιδιότητα Ρύθµιση Frm 1 Φόρµα (Form) Caption ΕΛΙΚΟΕΙ ΕΙΣ ΚΑΜΠΥΛΕΣ Icon. 2 Πλαίσιο εικόνας (PictureBox) PicHelix1 3 Πλαίσιο εικόνας (Picture Box) PicHelix2 4 Ετικέτα (Label) LblHelix1 Caption σπείρα του Αρχιµ ήδη 5 Ετικέτα (Label) LblHelix2 Caption λογαριθµική σπέιρα SldHelix1 6 Ροοστάτης (Slider) Min 5 Max 20 Value 5 SldHelix1 7 Ροοστάτης (Slider) Min 60 Max 100 Value 60 96
Μαθηµατικά α/α Αντικείµενο Ιδιότητα Ρύθµιση ImShell1 8 Εικόνα (Image) Stretch True Picture. ImShell2 9 Εικόνα (Image) Stretch True Picture. 10 Ετικέτα (Label) LblEnd Caption ΛΗΞΗ Σχήµα 5 ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ Η λειτουργία του προγράµµατος είναι απλή. Η φόρτωση των εικόνων στα χειρι- έγινε κατά το σχεδιασµό του προγράµµατος. Το ίδιο θα µπορούσε να γίνει στήρια και κατά την εκτέλεση του προγράµµατος µε τις γραµµές κώδικα π.χ. 97
VISUAL BASIC - ΟΛΟΚΛΗΡΩΜΕΝΕΣ ΕΦΑΡΜΟΓΕΣ Set ImShell2.Picture = Load Picture("C:\Τα έγγραφά µου\οι εικόνες µου\nautilus2. jpg"). Έτσι αναζητάµε την εικόνα nautilus2.jpg στη διεύθυνση που αναγράφεται και την εκχωρούµε ως ιδιότητα Picture για το χειριστήριο ImShell2. Προκειµένου οι εικόνες που τοποθετούνται στα χειριστήρια ImShell2 και ImShell1 να ταιριάζουν στις διαστάσεις τους, η ιδιότητά τους Stretch έχει ρυθµιστεί σε Τrue. Αν η ιδιότητα Stretch είχε τεθεί False θα άλλαζαν οι διαστάσεις των χειριστηρίων, ώστε να ταιριάζουν µε αυτές των εικόνων. Η αποµάκρυνση της εικόνας µπορεί να γίνει µε την εντολή: Set ImShell2.Picture = Nothing ή µε την εντολή: ImShell2.Picture = LoadPicture("") Όταν τοποθετούµε µια εικόνα σε ένα χειριστήριο κατά τη φάση του σχεδιασµού, η εικόνα σώζεται και φορτώνεται στη φόρµα. Σε αυτή την περίπτωση η εικόνα σώζεται και περιέχεται στο εκτελέσιµ ο αρχείο. Αν όµως φορτώνεται η εικόνα κατά τ η φάση της εκτέλεσης µ ε την εντολή LoadPicture, τότε η εικόνα πρέπει να έχει σωθεί σε ξεχωριστό αρχείο. Ειδικότερα, τα εικονίδια που τοποθετούνται συνήθως πάνω αριστερά στις φόρµες, είναι αρχεία µ ε την κατάληξη ico. Μερικά βρίσκονται συνήθως στη διεύθυνση: \Program files\microsoft Visual Basic\Icons directory, ή υπάρ- χουν διαθέσιµα στο διαδύκτιο. Για την τοποθέτηση των χειριστηρίων ροοστάτης (Slider) βλ. παράδειγµα 23. ΠΕΡΙΘΛΑΣΗ. Προφανώς αυτά µπορούν να αντικατασταθούν µε δύο ράβδους κύλισης, HScrollBar. 98