el en el el en el el el en el uk es en es tr en en ru el el el el el el el el en el el en el el el el el en el ja el el en el es el el el el el en el el el el el el en el ja el el el el el es en es el es es tr en es ru en el el en el el el uk en el uk el el el el el en el el el el el el el el el el el el el el el el el el el el el el el el el el el fr el el el en el el el el el el el el el el el el el el en de de el zh el el el el el el el el el en en de az el en el el en en el en el el en en el el el el el el en en el en el en el el el el el
Την προηγούμενη εβδομάδα είδαμε αρκετά νέα πράγματα, όπως για παράδειγμα τη βιβλιοθήκη patterns που μας βοηθάει να γεμίσουμε ένα χωρίο με κάποιο μοτίβο που επιθυμούμε κι όχι απλώς με κάποιο χρώμα – για περισσότερα, δείτε εδώ.
Για όλες τις αναρτήσεις της σειράς, δείτε εδώ.
Το πρώτο σχήμα τη προηγούμενης εβδομάδας ήταν αυτό:
Λίγες γραμμές ανάμεσα σε συναρτήσεις
Ο αντίστοιχος κώδικας είναι ο εξής:
Εδώ, το πώς σχεδιάσαμε τις δύο γραφικές παραστάσεις είναι κάτι που έχουμε ξαναδεί στο παρελθόν – χρησιμοποιώντας τις περιβόητες καμπύλες Bézier. Αυτές οι καμπύλες – για τις οποίες θα μιλήσουμε, όπως έχουμε πει, και στο aftermaths σύντομα – είναι στην ουσία κάποιες καμπύλες που καθορίζονται από δύο σημεία που αποτελούν την αρχή και το τέλος της καμπύλης καθώς και από κάποια σημεία ελέγχου – συνήθως δύο αλλά όχι απαραίτητα.
Φεύγοντας από τις δύο καμπύλες, αυτό που έχει ιδιαίτερο ενδιαφέρον στο παραπάνω σχήμα είναι οι γραμμούλες που ενώνουν τις δύο καμπύλες. Σαφώς, θα μπορούσαμε να τις έχουμε σχεδιάσει μία-μία με το χέρι, αλλά μάλλον θα ήταν λίγο κουραστικό αυτό. Δηλαδή, για την ακρίβεια, θα ήταν πολύ κουραστικό αυτό, καθώς είναι πάρα πολλές. Αντ’ αυτού, μπορούμε να χρησιμοποιήσουμε μία δομή επανάληψης για να σχεδιάσουμε όλες τις γραμμές με ένα μικρό τμήμα κώδικα. Η εν λόγω δομή είναι η εξής:
\foreach \i in {-3,-2.8,...,3.1}{ \draw[draw=none, name path=line \i] (\i,-3) -- (\i,3); \pgfmathtruncatemacro{\res}{20*\i} \node[draw=none, outer sep=0pt, inner sep=0pt, name intersections={of={curve 1 and line \i}}](A\res) at (intersection-1){}; \node[draw=none, outer sep=0pt, inner sep=0pt, name intersections={of={curve 2 and line \i}}](B\res) at (intersection-1){}; \draw[orange,  ] (A\res) -- (B\res); }
Όπως βλέπετε, παραπάνω αποφασίσαμε να προχωρήσουμε με βήμα 0.2 και να πάμε από το -3 έως το 3. Για κάθε τέτοιον αριθμό \i σε αυτή τη λίστα η πρόθεσή μας είναι να σχεδιάσουμε μία ευθεία της μορφής η οποία να συνδέει τις δύο καμπύλες. Επομένως, όπως ίσως φαντάζεστε, πρέπει να σπάσουμε τη δουλειά μας σε τρία βήματα:
Αρχικά, να σχεδιάσουμε μία αόρατη ευθεία της μορφής που θα μας βοηθήσει να βάλουμε τα πράγματα στη θέση τους.
Έπειτα, με τη βοήθεια της παραπάνω ευθείας, να σχεδιάσουμε τα δύο σημεία τομής των δύο καμπυλών που έχουμε με την ευθεία και να τα αποθηκεύσουμε σε κόμβους.
Τέλος, να σχεδιάσουμε ένα ευθύγραμμο τμήμα που να έχει ως άκρα τα δύο σημεία που σχεδιάσαμε παραπάνω.
Πράγματι, αυτό ακριβώς κάνουμε και παραπάνω. Αρχικά, με την εντολή:
\draw[draw=none, name path=line \i] (\i,-3) -- (\i,3);
σχεδιάζουμε την αόρατη ευθεία μας και της δίνουμε κι ένα όνομα. Έπειτα, με την εντολή:
καθορίζουμε την ποσότητα \res να είναι ένας ακέραιος αριθμός ίσος με το εικοσαπλάσιο του \i. Αυτό, όπως έχουμε δει κι εδώ το κάνουμε γιατί δεν μπορούμε π.χ. στα ονόματα κόμβων να χρησιμοποιήσουμε δεκαδικούς αριθμούς, οπότε, αφού θέλουμε να ξεχωρίζουμε τους κόμβους μεταξύ τους, θα χρησιμοποιούμε την ποσότητα \res που είναι διαφορετική για κάθε τιμή του \i για να μας βοηθήσει στην ονοματοθεσία των κόμβων μας.
Τώρα, με τις παρακάτω δύο εντολές σχεδιάζουμε δύο αόρατους κόμβους στις θέσεις των σημείων τομής της αόρατης ευθείας που μόλις σχεδιάσαμε με τη βοήθεια της παραμέτρου name intersections:
\node[draw=none, outer sep=0pt, inner sep=0pt, name intersections={of={curve 1 and line \i}}](A\res) at (intersection-1){}; \node[draw=none, outer sep=0pt, inner sep=0pt, name intersections={of={curve 2 and line \i}}](B\res) at (intersection-1){};
Τέλος, με τη βοήθεια των δύο παραπάνω κόμβων δεν έχουμε παρά να σχεδιάσουμε την ευθεία που όντως θέλουμε να φαίνεται στο σχήμα μας, όπως θέλουμε να φαίνεται, χρησιμοποιώντας απλώς την εντολή:
\draw[orange,  ] (A\res) -- (B\res);
Το καλό με όλη την παραπάνω διαδικασία είναι ότι το σχήμα μας είναι δυναμικό. Δηλαδή, αν ανά πάσα στιγμή θελήσουμε να αλλάξουμε το στυλ των ευθειών μας, δεν έχουμε παρά να αλλάξουμε την τελευταία εντολή που δώσαμε παραπάνω. Αντίστοιχα, αν θέλουμε αν «αραιώσουμε» ή να «πυκνώσουμε» τις παραπάνω γραμμές, δεν έχουμε παρά να αλλάξουμε τις τιμές που παίρνει το \i. Αντίστοιχα, αν θέλουμε να αλλάξουμε τις καμπύλες μας, δεν έχουμε παρά… να τις αλλάξουμε καθώς, όσο αυτές παραμένουν μέσα στο αρχικό ορθογώνιο του σχήματος, θα τέμνονται από τις αόρατες ευθείες που έχουμε σχεδιάσει και άρα θα μεταβληθούν και οι ευθείες μας αναλόγως.
Το επόμενο σχήμα της προηγούμενης εβδομάδας ήταν το εξής:
Ο αντίστοιχος κώδικας είναι ο εξής:
\documentclass[tikz, margin=5mm]{standalone} \usetikzlibrary{intersections} \begin{document} \begin{tikzpicture} \draw[thick,->,name path=x axis] (-4,0) -- (4,0)node[pos=1,below]{$x$}; \draw[thick,->,name path=y axis] (0,-2) -- (0,4)node[pos=1,left]{$y$}; \node[left,yshift=-8pt](O) at (0,0){$O$}; \draw[thick, name path=curve 1, blue!50!black] (-3.6,2.5) .. controls (-2,-4) and (-1,3) .. (0,1); \draw[thick, name path=curve 2, blue!50!black] (3.6,2.5) .. controls (2,-4) and (1,3) .. (0,1)node[pos=0,above]{$f$}; \node[circle, fill=black, inner sep=1pt, green!40!black, label={below}:{$\textcolor{green!40!black}{x}$}](x) at (3.4,0){}; \node[circle, fill=black, inner sep=1pt, green!40!black, label={below}:{$\textcolor{green!40!black}{-x}$}](mx) at (-3.4,0){}; \draw[draw=none, name path=line 2] (3.4,-4) -- (3.4,4); \draw[draw=none, name path=line 1] (-3.4,-4) -- (-3.4,4); \node[circle, fill=green!40!black, inner sep=1pt, name intersections={of={line 1 and curve 1}}](A) at (intersection-1){}; \node[circle, fill=green!40!black, inner sep=1pt, name intersections={of={line 2 and curve 2}}](B) at (intersection-1){}; \draw[dashed,->,orange] (x) -- (B); \draw[dashed,->,orange] (mx) -- (A); \draw[dashed, ,orange] (A) -- (B)node[pos=.5,right,yshift=8pt]{$f(x)=f(-x)$}; \end{tikzpicture} \end{document}
Κι εδώ, σε ό,τι αφορά την καμπύλη, απλώς σχεδιάσαμε το δεξί της τμήμα κι έπειτα, για να σχεδιάσουμε το αριστερό, απλώς πήραμε τα συμμετρικά σημεία ελέγχου ως προς τον άξονα Αυτό είναι ένα ιδιαίτερα βολικό χαρακτηριστικό των καμπυλών Bézier, καθώς μπορεί κανείς να τις στρίψει περιστρέφοντας απλώς τα σημεία ελέγχου της καμπύλης – κάτι που είναι αρκετά πιο απλό από το να περιστρέψει κανείς ολόκληρη την καμπύλη.
Κατά τα άλλα, για να σχεδιάσουμε κι εδώ τις διακεκομμένες γραμμές που φαίνονται χρησιμοποιήσαμε ξανά σημεία τομής και τη βοήθεια της βιβλιοθήκης intersections με τον τρόπο που περιγράψαμε παραπάνω. Γενικότερα, δεδομένου ότι όταν έχουμε να κάνουμε με καμπύλες Bézier δε γνωρίζουμε τον τύπο της καμπύλης, το να χρησιμοποιήσουμε τα σημεία τομής της με άλλα αντικείμενα είναι ένας από τους λίγους – και ίσως ο πιο απλός – τρόπος για να αναφερθούμε σε συγκεκριμένα σημεία της καμπύλης.
Το τελευταίο σχήμα της προηγούμενης εβδομάδας ήταν το εξής:
Ο αντίστοιχος κώδικας είναι ο εξής:
\documentclass[tikz, margin=5mm]{standalone} \usetikzlibrary{calc} \usetikzlibrary{intersections} \begin{document} \begin{tikzpicture} \draw[thick,->,name path=x axis] (-4,0) -- (4,0)node[pos=1,below]{$x$}; \draw[thick,->,name path=y axis] (0,-3) -- (0,3)node[pos=1,left]{$y$}; \node[left,yshift=-8pt](O) at (0,0){$O$}; \begin{scope} \clip (-4,-3) rectangle (4,3); \draw[thick, name path=curve 1, blue!50!black] (-3.6,-1) .. controls (-2,4) and (-1,3) .. (0,0); \draw[thick, name path=curve 2, blue!50!black] (3.6,1) .. controls (2,-4) and (1,-3) .. (0,0)node[pos=0,above]{$f$}; \node[circle, fill=black, inner sep=1pt, label={above}:{$\textcolor{green!40!black}{x}$}](x) at (2.6,0){}; \node[circle, fill=black, inner sep=1pt, label={below}:{$\textcolor{green!40!black}{-x}$}](mx) at (-2.6,0){}; \draw[draw=none, name path=line 2] (2.6,-4) -- (2.6,4); \draw[draw=none, name path=line 1] (-2.6,-4) -- (-2.6,4); \node[circle, fill=green!40!black, inner sep=1pt, name intersections={of={line 1 and curve 1}}](A) at (intersection-1){}; \node[circle, fill=green!40!black, inner sep=1pt, name intersections={of={line 2 and curve 2}}](B) at (intersection-1){}; \end{scope} \draw[dashed,->,orange] (x) -- (B); \draw[dashed,->,orange] (mx) -- (A); \draw[dashed, ,orange] (A) -- (B); \draw[dashed,->,orange] (B) -- ($(0,-4)!(B)!(0,4)$)node[pos=1,left]{$f(x)$}; \draw[dashed,->,orange] (A) -- ($(0,-4)!(A)!(0,4)$)node[pos=1,right]{$-f(x)=f(-x)$}; \end{tikzpicture} \end{document}
Κι εδώ εφαρμόσαμε τις ίδιες αρχές με το προηγούμενο σχήμα. Σχεδιάσαμε μία καμπύλη στο δεξί ημιεπίπεδο, έπειτα σχεδιάσαμε τη συμμετρική της παίρνοντας τα συμμετρικά σημεία ελέγχου και μετά με τη βοήθεια αόρατων ευθειών και των σημείων τομής τους με τις καμπύλες μας σχεδιάσαμε τις ευθείες που επιθυμούσαμε. Παρατηρήστε επίσης πώς στο τέλος, για να σχεδιάσουμε τις προβολές των δύο σημείων στους άξονες χρησιμοποιήσαμε το αγαπημένο μας κόλπο από τη βιβλιοθήκη calc:
όπου, a,b είναι τα άκρα του ευθυγράμμου τμήματος πάνω στο οποίο προβάλουμε τον κόμβο x.
Αυτά ήταν τα σχήματά μας και γι’ αυτήν την εβδομάδα. Μέχρι την επόμενη εβδομάδα, καλή συνέχεια!
Η κεντρική εικόνα είναι ο πίνακας Στούντιο στις Batignolles του Henri Fantin-Latour.
Διαβάστε επίσης: Τι λέει το Θεώρημα του Bolzano;
Ακολουθήστε το aftermathsgr στα social media:
Μαθηματικός, μάλλον... Προβολή όλων των δημοσιεύσεων από Aftermaths
Previous Άλγεβρα, Α’ Λυκείου – Μάθημα 6ο
Next ‘Αλγεβρα, Β’ Λυκείου – Μάθημα 6ο
22 Οκτωβρίου 2021 στο 02:13
Δοκίμασα να αλλάξω το μέγεθος στο πρώτο σχήμα με [scale=1.5] και η κλιμάκωση δεν γίνεται ομοιόμορφα (οι καμπύλες με τις κατακόρυφες γραμμές). Μήπως γνωρίζετε κάποιον άλλο τρόπο για να το πετύχω;
Μου αρέσει!Αρέσει σε 1 άτομο
22 Οκτωβρίου 2021 στο 11:11
Γενικά το scale σαν παράμετρος του tikzpicture προσπαθεί – όχι πάντα επιτυχώς, είναι η αλήθεια – να επιβάλλει και κάποιες καλές πρακτικές – π.χ. δεν κάνει scale τις γραμματοσειρές, συνήθως, δεν χαλάει τους πίνακες κ.λπ. Στην προκειμένη, βλέπω ότι στην ουσία κρατάει στη μνήμη δύο διαφορετικές εκδοχές των δύο καμπύλων που υπάρχουν (πιθανότατα έχει να κάνει με το ότι είναι Bezier). Όπως και να έχει, ένας άλλος τρόπος είναι μέσα από την \scalebox{1.5}{…}, όπου στις … πάει όλο το περιβάλλον tikzpicture. Αν δε φορτώνει ούτε αυτό, μία ακόμα εναλλακτική είναι το \resizebox{horizontal}{vertical}{…} όπου οι … είναι πάλι όλο το σχήμα και τα horizontal και vertical είναι οι αναλογίες για την οριζόντια και την κατακόρυφη διάσταση, αντίστοιχα. Αν το θυμάμαι καλά, αν στη μία από τις δύο έχει ! αντί για νούμερο, τότε κάνει το scaling διατηρώντας τις αναλογίες σταθερές – με επιφύλαξη αυτό, ωστόσο.
25 Οκτωβρίου 2021 στο 00:38
Το \scalebox{1.5} δούλεψε κανονικά! Ευχαριστώ για την απάντησή σας και γενικότερα για τη βοήθεια που δίνετε μέσα από τα άρθρα αυτά.
Μου αρέσει!Αρέσει σε 1 άτομο
Γράψτε το σχόλιο σας εδώ....
Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:
Ηλ. διεύθυνση (απαιτείται) Δεν θα εμφανιστεί δημόσια.
Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. ( Αποσύνδεση /  Αλλαγή )
Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. ( Αποσύνδεση /  Αλλαγή )
Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. ( Αποσύνδεση /  Αλλαγή )
Ειδοποίηση μέσω mail για νέα σχόλια.
Να ειδοποιούμαι μέσω mail για νέα άρθρα.
Ακολούθησε το ιστολόγιο μέσω email
Μαζί με 513 ακόμα followers
Η καλή πράξη της ημέρας
Τεστάκι της Ημέρας #001 - Τι θυμόμαστε από το Γυμνάσιο;
Τι λέει το Θεώρημα του Bolzano;
Λύσεις του Επαναληπτικού Διαγωνίσματος VI
Ασκήσεις στα Σύνολα - Α' Λυκείου
Επαναληπτικό διαγώνισμα εφ' όλης της ύλης VI
Ασκήσεις στις Συναρτήσεις (Β' Λυκείου)
Ασκήσεις στις απόλυτες τιμές
Ασκήσεις στη Σύνθεση (Λύσεις)
Ασκήσεις στους κανόνες παραγώγισης
Μονοτονία συναρτήσεων (Γ' ΕΠΑΛ)
Αξίωμα της πληρότητας (6)
Τίποτα στην τύχη (1)
Τεστάκι της ημέρας (176)
The Wumpus Project (1)
1-1 After-maths Collatz featured Fermat Horner Tikz Workshop Α' Γυμνασίου Α' Λυκείου ΑΕΠΠ Απόψεις Β' Λυκείου Γ' λυκείου Διδακτικό υλικό ΕΟΚ ΕΠΑΛ ΘΜΤ Μαθηματικά Φυσική άλγεβρα ακρότατα αλγόριθμοι αμπελοφιλοσοφία ανισότητες ανισώσεις αποδείξεις απόλυτη τιμή ασκήσεις γραφική παράσταση δευτεροβάθμιες διάμεσος διαγώνισμα διακύμανση διασπορά διαφάνειες δομή επανάληψης δομή επιλογής δυνάμεις εισαγωγή εκθετική εξισώσεις επανάληψη θεωρία λογαριθμική λυμένα παραδείγματα λύσεις μέση τιμή μαθηματικά μονοτονία ολοκλήρωμα πίνακες πανελλήνιες παράγωγος παραμετρικές παραστάσεις πιθανότητες πολυώνυμα πράξεις πραγματικοί αριθμοί προβλήματα πρωτοβάθμιες πρόοδοι ρίζες σημειώσεις στατιστική συνέχεια συναρτήσεις συστήματα συχνοτήτων σύνολα τεστ τριγωνομετρία φύλλο εργασίας όρια
Buy me a tea!
Οι οπλές του αγριόγιδου είναι τα τέσσερα δάκτυλα του βιολιστή. Πάνε στα τυφλά και δε λαθεύουν ούτε χιλιοστό. Χυμούν σε γκρεμούς, παιχνιδιάρες στην ανηφοριά, ακροβάτες στην κατηφοριά, είναι καλλιτέχνες τσίρκου για το θεωρείο των βουνών. Οι οπλές του αγριόγιδου γαντζώνονται στον αέρα. Ο ρόζος τους, μικρό μαξιλαράκι, όποτε θέλει λειτουργεί σαν σιγαστήρας, διαφορετικά το χωρισμένο στα δυο νύχι είναι καστανιέτα για φλαμένκο. Οι οπλές του αγριόγιδου είναι τέσσερις άσσοι σε τσέπες χαρτοκλέφτη. Μ' εκείνες η βαρύτητα είναι μια παραλλαγή σ' ένα θέμα, όχι ένας νόμος.