Παρασκευή 30 Οκτωβρίου 2015

Γραμμικό σχέδιο (Μ2000)

Στη Μ2000 μπορούμε να χαράξουμε γραμμές, καμπύλες, κύκλους, πολύγωνα, με χρήση συντεταγμένων σε twips (1440 twips 1 ίντσα, στην οθόνη μια λογική ίντσα, στον εκτυπωτή μια πραγματική ίντσα). Εδώ θα δούμε μόνο τη Χάραξε και την Θέση  (μετακίνηση σε απόλυτη θέση), με την πρώτη κύρια σε διαμόρφωση πολικών συντεταγμένων, δηλαδή με απόλυτη γωνία (0 ακτίνια είναι κατεύθυνση προς τα δεξιά, χρησιμοποιούμε το πι για τα ακτίνια)., και απόσταση (σχετική θέση). Αρνητική απόσταση σημαίνει προς την αντίθετη πλευρά, Αρνητική γωνία σημαίνει  δεξιόστροφη.

Για να κάνουμε πιο ενδιαφέρον το πρόγραμμα χρησιμοποιούμε και την χάραξε με σχετικές θέσεις (κανονικές συντεταγμένες), και με χρήση της Πάχος { } φέρνουμε δυο αξονικές γραμμές. Κατόπιν σχεδιάζουμε εικοσιένα κανονικά πολύγωνα από το τρίγωνο μέχρι και το εικοσιτριάγωνο! Μάλιστα εναλλάσσουμε το πάχος κάθε πλευράς από 1 έως 2 εικονοστοιχεία (εδώ το πάχος δεν είναι σε twips, πχ για οθόνη 96 dpi το εικονοστοιχείο έχει μέγεθος 15 twips, εδώ με 2 βάζουμε δυο pixels μέγεθος γραμμής). Επιπλέον παίζουμε λίγο με το χρώμα φτιάχνοντας με την συνάρτηση Χρώμα( ) την τιμή RGB που θέλουμε για κάθε πλευρά, σε όλα τα πολύγωνα!

Η οθόνη μας έχει Χ.ΣΗΜΕΙΑ πλάτος σε twips και Υ.ΣΗΜΕΙΑ ύψος σε twips. Η αρχή των αξόνων είναι πάνω αριστερά, και το ύψος αυξάνεται προς τα κάτω. (οι ΚΛΙΜΑΞ.Χ και ΚΛΙΜΑΞ.Υ είναι ακριβώς οι ίδιες τιμές με τις Χ.ΣΗΜΕΙΑ και Υ.ΣΗΜΕΙΑ. Αυτό ειναι το μέγεθος ενός επιπέδου. Η  Μ2000 έχει το περιθώριο, το βασικό επίπεδο και 32 ακόμα επίπεδα. Εδώ χρησιμοποιούμε το βασικό επίπεδο. Τα 32 επίπεδα είναι τύπου raster και όχι διανυσματικά. Αυτό σημαίνει ότι μπορούν να χρησιμοποιηθούν ως σελίδες, ή ως επικαλύψεις. Μπορούμε να εμφανίσουμε διανυσματικά γραφικά από αρχείο τύπων emf, wmf, με πραγματικά διάφανο φόντο, αλλά γίνεται με συγχώνευση στο υπάρχον σχέδιο. Θα τα δούμε αυτά σε άλλη ανάρτηση!
Θα μπορούσε κανείς βασικά σχήματα να τα έχει σε τμήματα που θα καλεί για να τα εμφανίζει στη θέση του δρομέα γραφικών, δείτε το παράδειγμα με τις σκακιέρες!

οθόνη 1,0 \\ μπλε χρώμα, χωρίς χωριστή οθόνη
κ=0
ανανέωση 5000
\\ κάνουμε την αυτόματη ανανέωση πιο αργή, ανά 5 δευτερόλεπτα
πάχος 1, 3 { \\ αξονική γραμμή - μόνο για πάχος 1
      θέση χ.σημεία, υ.σημεία/2
      χάραξε -χ.σημεία
      θέση χ.σημεία/2, υ.σημεία
      χάραξε , -υ.σημεία
      }
για ν=3 έως 23 {
      α=ν/2/πι
      β=χ.σημεία/3/ν+ν*10
      \\ απόλυτη θέση
      θέση χ.σημεία/2, υ.σημεία/2
      κ+=πι/10
      λ=1
      για ι=1 έως ν {
           πάχος λ {
                 \\ πολικές συντεταγμένες: απόλυτη γωνία σε ακτίνια, σχετική απόσταση
                 \\ η χάραξε  έχει τρεις μορφές
                 \\ χάραξε γωνία  απόλυτη_γωνία,  απόσταση  [, χρώμα]
                 \\ χάραξε απόσταση_κατά_χ [, απόσταση_κατά_ψ [, χρώμα]]
                 \\ χάραξε έως απόλυτη_θέση_χ, απόλυτη_θέση_ψ [, χρώμα]
                  χάραξε γωνία ι/α+Κ, β, χρώμα(255*ν/24, 255*ι/ν, 255-255*ι/ν)
            }
            λ=3-λ
      }
}
\\ τώρα επαναφέρουμε την αυτόματη ανανέωση ανά 0.025 δευτερόλεπτα
ανανέωση 25




Γ Κ

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


οθόνη 1,0 \\ μπλε χρώμα, χωρίς χωριστή οθόνη
κ=0
\\ ανανέωση 5000
\\ ΔΕΝ κάνουμε την αυτόματη ανανέωση πιο αργή, ανά 5 δευτερόλεπτα

για ν=3 έως 23 {
      α=ν/2/πι
      β=χ.σημεία/3/ν+ν*10
      \\ απόλυτη θέση
      θέση χ.σημεία/2, υ.σημεία/2
      κ+=πι/10
      λ=1
      για ι=1 έως ν {
           πάχος λ {
                 \\ πολικές συντεταγμένες: απόλυτη γωνία σε ακτίνια, σχετική απόσταση
                 \\ η χάραξε  έχει τρεις μορφές
                 \\ χάραξε γωνία  απόλυτη_γωνία,  απόσταση  [, χρώμα]
                 \\ χάραξε απόσταση_κατά_χ [, απόσταση_κατά_ψ [, χρώμα]]
                 \\ χάραξε έως απόλυτη_θέση_χ, απόλυτη_θέση_ψ [, χρώμα]
                  χάραξε γωνία ι/α+Κ, β, χρώμα(255*ν/24, 255*ι/ν, 255-255*ι/ν)
            }
            λ=3-λ
      }
      πάχος 1, 3 { \\ αξονική γραμμή - μόνο για πάχος 1
      θέση χ.σημεία, υ.σημεία/2
      χάραξε -χ.σημεία
      θέση χ.σημεία/2, υ.σημεία
      χάραξε , -υ.σημεία
      }
      αναμονη 10
      οθονη
}
\\ τώρα επαναφέρουμε την αυτόματη ανανέωση ανά 0.025 δευτερόλεπτα
ανανέωση 25

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

You can feel free to write any suggestion, or idea on the subject.