Πίνακας περιεχομένων:

Ενδιαφέρουσες οδηγίες προγραμματισμού επεξεργασίας για σχεδιαστές-Έλεγχος χρωμάτων: 10 βήματα
Ενδιαφέρουσες οδηγίες προγραμματισμού επεξεργασίας για σχεδιαστές-Έλεγχος χρωμάτων: 10 βήματα

Βίντεο: Ενδιαφέρουσες οδηγίες προγραμματισμού επεξεργασίας για σχεδιαστές-Έλεγχος χρωμάτων: 10 βήματα

Βίντεο: Ενδιαφέρουσες οδηγίες προγραμματισμού επεξεργασίας για σχεδιαστές-Έλεγχος χρωμάτων: 10 βήματα
Βίντεο: Πώς να κάνεις καλά πράγματα να σου συμβούν. Ακουστικό βιβλίο 2024, Ιούλιος
Anonim
Ενδιαφέρουσες οδηγίες προγραμματισμού επεξεργασίας για σχεδιαστές-Έλεγχος χρωμάτων
Ενδιαφέρουσες οδηγίες προγραμματισμού επεξεργασίας για σχεδιαστές-Έλεγχος χρωμάτων

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

Βήμα 1: Βασικές γνώσεις για το χρώμα

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

Βάσει αυτής της αρχής δημιουργούνται οθόνες κινητών και οθόνες υπολογιστών που βλέπετε αυτήν τη στιγμή. Το κόκκινο, το πράσινο και το μπλε ονομάζονται τα τρία αρχικά χρώματα φωτός. Μέσω της αναλογίας των τριών στοιχείων, μπορούμε να εξασφαλίσουμε ένα συγκεκριμένο χρώμα. Αυτή η μέθοδος περιγραφής ονομάζεται επίσης λειτουργία RGB. Μεταξύ του, το κόκκινο είναι R, το πράσινο είναι το G και το μπλε είναι το Β.

Εκτός από τη λειτουργία RGB, υπάρχει μια άλλη λειτουργία που ονομάζεται λειτουργία CMYK. Συνήθως συνδυάζεται με εκτύπωση. Στην εκτύπωση, υπάρχουν επίσης τρία πρωτότυπα χρώματα. Ωστόσο, είναι διαφορετικό από τα τρία αρχικά χρώματα φωτός. Είναι χωριστά κόκκινα, κίτρινα και μπλε. Μεταξύ αυτών, το C είναι για το κυανό, το M είναι για το ματζέντα και το Y είναι για το κίτρινο. Θεωρητικά, μόνο με CMY, μπορούμε να ανακατέψουμε τα περισσότερα χρώματα. Αλλά λόγω της τεχνικής παραγωγής πρώτων υλών, δύσκολα μπορούμε να κάνουμε τον κορεσμό του CMY να επιτύχει το 100%. Αν αναμίξουμε αυτά τα τρία χρώματα, δεν μπορούμε να αποκτήσουμε μαύρο χρώμα που είναι αρκετά σκούρο. Υπάρχει λοιπόν ένα επιπλέον K, το οποίο είναι για μαύρο μελάνι εκτύπωσης, ως συμπλήρωμα εκτύπωσης.

Όσο για το RGB και το CMYK, δεν έχετε παρά να γνωρίζετε ότι υπάρχει μια πιο προφανής διαφορά στη φύση. Το RGB είναι συν λειτουργία χρώματος, η οποία αυξάνει τη φωτεινότητα αναμειγνύοντας περισσότερα χρώματα. Ενώ το CMYK είναι μείον τη λειτουργία χρώματος, η οποία αυξάνει το σκοτάδι αναμειγνύοντας περισσότερα χρώματα. Στην παρακάτω εικόνα, μπορούμε να δούμε οπτικά τις ομοιότητες και τις διαφορές των δύο τρόπων. Η αριστερή εικόνα, μπορούμε να φανταστούμε ότι είναι ένα σκοτεινό σπίτι με τρία διαφορετικά χρώματα φακούς ενεργοποιημένους. Εικόνα στα δεξιά, μπορούμε να το θεωρήσουμε ως χαρτί ακουαρέλας μετά την επικάλυψη με τρεις χρωστικές του κόκκινου, του πράσινου και του μπλε.

Εάν θέλετε να μάθετε βαθύτερα τις σχετικές σχέσεις μεταξύ διαφορετικών λειτουργιών χρώματος, μπορείτε να ανοίξετε το Photoshop και να επιλέξετε τον επιλογέα χρωμάτων. Στη συνέχεια, μπορείτε να δείτε τις τιμές χρωμάτων του ίδιου χρώματος σε διαφορετικές λειτουργίες χρώματος διαισθητικά.

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

Η απόχρωση αντιπροσωπεύει την τάση χρώματος. Κάθε χρώμα έχει μια συγκεκριμένη χρωματική τάση μόνο αν δεν είναι βαμμένο, λευκό ή γκρι. Η πιο πλούσια περιοχή μετάβασης χρώματος στον επιλογέα χρωμάτων χρησιμοποιείται για να υποδείξει την απόχρωση. Η τιμή του στο PS κυμαίνεται από 0 έως 360.

Κορεσμός σημαίνει την καθαρότητα του χρώματος. Η υψηλότερη καθαρότητα φέρνει πιο ζωντανό χρώμα. Η τιμή του στο PS κυμαίνεται από 0 έως 100.

Η φωτεινότητα σημαίνει τον βαθμό φωτεινότητας του χρώματος, που κυμαίνεται από 0 έως 100.

Σε σύγκριση με τη λειτουργία RGB, οι τρεις διαστάσεις του HSB είναι πολύ πιο συμβατές με την αίσθηση των ανθρώπινων ματιών για τα χρώματα. Απλά κοιτάξτε τις τιμές HSB μόνο, μπορείτε γενικά να φανταστείτε τι είδους χρώμα είναι.

Όσον αφορά το ίδιο χρώμα, η τιμή χρώματος στη λειτουργία RGB είναι (255, 153, 71), ενώ στο HSB είναι (27, 72, 100).

Είναι δύσκολο να κρίνουμε πώς θα είναι μετά την ανάμειξη των τριών αρχικών χρωμάτων μαζί, αν κοιτάξουμε μόνο το RGB. Αλλά το HSB είναι διαφορετικό. Αρκεί να εξοικειωθείτε με τις αποχρώσεις όπως το κόκκινο είναι 0, το πορτοκαλί είναι 30 και το κίτρινο είναι 60, τότε θα ξέρετε ότι θα είναι ένα συγκριτικά κορεσμένο πορτοκαλί χρώμα με υψηλή φωτεινότητα και λίγο κοντά στο κόκκινο όταν το H είναι 27

Στη συνέχεια, θα αντιστοιχίσουμε τις τρεις διαστάσεις των δύο τρόπων λειτουργίας σε x, y, x στο διάστημα και θα σχεδιάσουμε ένα κυβικό χρώμα για σύγκριση.

Το RGB και το HSB είναι απλώς διαφορετικές μέθοδοι για την περιγραφή των χρωμάτων. Μπορούμε να πάρουμε τη διεύθυνση ως μεταφορά. Ας υποθέσουμε ότι αν θέλετε να πείτε σε άλλους ανθρώπους τη θέση του Αυτοκρατορικού παλατιού, μπορείτε να πείτε ότι βρίσκεται στη Νο. 4 της οδού Jingshan Front, περιοχή Dongcheng, Πεκίνο. Or μπορείτε να πείτε ότι είναι στα 15 δευτερόλεπτα, 55 λεπτά, 39 μοίρες στο βόρειο γεωγραφικό πλάτος και 26 δευτερόλεπτα, 23 λεπτά, 116 μοίρες στο ανατολικό γεωγραφικό μήκος. Η μέθοδος περιγραφής του HSB είναι παρόμοια με την προηγούμενη. Εάν είστε εξοικειωμένοι με τη σχετική περιοχή, μπορείτε γενικά να γνωρίζετε τη θέση της διεύθυνσης. Ενώ το RGB μπορεί να είναι πιο ακριβές, αλλά είναι πολύ αφηρημένο.

Η λειτουργία HSB υπήρχε με στόχο να μας βοηθήσει να περιγράψουμε πιο εύκολα το χρώμα. Για να εμφανιστεί ένα συγκεκριμένο είδος χρώματος στην οθόνη, πρέπει τελικά να το μετατρέψουμε σε λειτουργία RGB.

Στα παραπάνω, εισάγουμε τρεις λειτουργίες χρώματος: RGB, HSB, CMYK. Στο πρόγραμμα, πρέπει να εστιάσετε μόνο σε δύο λειτουργίες: RGB και HSB. Έχουν τα δικά τους πλεονεκτήματα και τις δικές τους εφαρμογές ταυτόχρονα. Εάν είστε εξοικειωμένοι με αυτό, θα ικανοποιήσει τις περισσότερες απαιτήσεις σχεδιασμού σας.

Βήμα 2: Τύπος δεδομένων για αποθήκευση χρωμάτων

Για την εμφάνιση χρωμάτων στο πρόγραμμα, χρησιμοποιούμε κυρίως τη λειτουργία RGB στο προηγούμενο. Ωστόσο, μόνο με τον έλεγχο των τριών ιδιοτήτων, μπορούμε να εμφανίσουμε οποιαδήποτε χρώματα; Στον υπολογιστή, είναι έτσι.

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

Στη συνέχεια, αρχίζουμε να εισάγουμε ένα είδος τύπου δεδομένων Χρώμα, το οποίο χρησιμοποιείται κυρίως για την αποθήκευση χρωμάτων. Είναι παρόμοιο με τους τύπους δεδομένων που αναφέρθηκαν προηγουμένως, όπως boolena, int, float.

Εδώ, επιτρέψτε μου να συνεχίσω να εξηγώ πρώτα την πραγματική χρήση του χρώματος. Φανταστείτε αυτό: ας υποθέσουμε ότι αν μπορούμε να χρησιμοποιήσουμε μόνο τις προηγούμενες μεθόδους για να αποθηκεύσουμε ορισμένα δεδομένα, τι θα κάνουμε;

Παράδειγμα κώδικα (9-1):

[cceN_cpp theme = "dawn"] int r, g, b;

void setup () {

μέγεθος (400, 400).

r = 255;

g = 0;

b = 0;

}

άκυρη κλήρωση () {

φόντο (0);

rectMode (ΚΕΝΤΡΟ);

γέμισμα (r, g, b).

ορθός (πλάτος/2, ύψος/2, 100, 100).

}

[/cceN_cpp]

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

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

Παράδειγμα κώδικα (9-2):

[cceN_cpp theme = "dawn"] χρώμα myColor;

void setup () {

μέγεθος (400, 400).

myColor = χρώμα (255, 0, 0);

}

άκυρη κλήρωση () {

φόντο (0);

rectMode (ΚΕΝΤΡΟ);

γέμισμα (myColor);

ορθός (πλάτος/2, ύψος/2, 100, 100).

} [/cceN_cpp]

Το ίδιο με τους τύπους δεδομένων όπως το int, πρέπει να χρησιμοποιήσουμε το "χρώμα myColor" στην αρχή για να δημιουργήσουμε μεταβλητές.

Κατά τη ρύθμιση, χρησιμοποιούμε "myColor = χρώμα (255, 0, 0)" για να εκχωρήσουμε τιμή στη μεταβλητή myColor. Ενώ το χρώμα συνάρτησης (a, b, c) αντιπροσωπεύει σωστά ότι αυτό το σύνολο δεδομένων έχει σχηματίσει έναν τύπο χρώματος έτσι ώστε να εισάγει μεταβλητή myColor. Εάν γράψετε "myColor = (255, 0, 0)", τότε το πρόγραμμα θα πάει στραβά.

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

Βήμα 3: Επικαλυπτόμενη μέθοδος πλήρωσης

κτύπημα, φόντο έχουν την ίδια μέθοδο επικάλυψης με το γέμισμα.

Διαβάστε την τιμή χρώματος του καναλιού

Εκτός από τις εκχωρήσεις, μπορείτε επίσης να λάβετε ανεξάρτητα την τιμή RGB στη μεταβλητή χρώματος

Παράδειγμα κώδικα (9-3):

[cceN_cpp theme = "dawn"] χρώμα myColor;

void setup () {

myColor = χρώμα (255, 125, 0);

println (κόκκινο (myColor));

println (πράσινο (myColor));

println (μπλε (myColor));

}

[/cceN_cpp]

Αποτέλεσμα στην κονσόλα: 255, 125, 0.

Η συνάρτηση κόκκινο (), πράσινο (), μπλε () θα επιστρέψει σχετικά στην τιμή του κόκκινου, πράσινου και μπλε καναλιού στο myColor.

Δεκαεξαδική ανάθεση

Εκτός από τη χρήση δεκαδικών αριθμών για την εμφάνιση RGB, μπορούμε επίσης να χρησιμοποιήσουμε δεκαεξαδικό. Δεκαδικός σημαίνει αύξηση 1 όταν συναντά το 10. Ενώ δεκαεξαδικό σημαίνει αύξηση 1 όταν συναντά το 16. Η σχετική σχέση του με το δεκαδικό είναι: "0 έως 9" αντιστοιχεί σε "0 έως 9 "," A έως F "αντιστοιχούν σε" 10 έως 15 ".

Η παρακάτω εικόνα είναι η απεικόνιση της μεθόδου μετατροπής.

Φυσικά, αν λάβουμε ένα σύνολο δεκαεξαδικών τιμών όπως το ff7800, δεν χρειάζεται να το μετατρέψουμε με μη αυτόματο τρόπο. Το πρόγραμμα θα εκχωρήσει τιμές απευθείας σε μεταβλητές χρώματος. Είναι πολύ βολικό.

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

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

Παράδειγμα κώδικα (9-4):

[cceN_cpp theme = "dawn"] χρώμα πίσωColor, colorA, colorB, colorC;

void setup () {

μέγεθος (400, 400).

rectMode (ΚΕΝΤΡΟ);

noStroke ();

backColor = #395b71;

colorA = #c4d7fb;

χρώμαB = #f4a7b4;

χρώμαC = #f9e5f0;

}

άκυρη κλήρωση () {

φόντο (backColor);

γέμισμα (χρώμα Α)?

rect (200, 200, 90, 300);

γέμισμα (χρώμαΒ)?

rect (100, 200, 90, 300);

γέμισμα (χρώμα C);

rect (300, 200, 90, 300);

} [/cceN_cpp]

Τώρα, το χρώμα είναι πολύ πιο άνετο με καλύτερο αποτέλεσμα από την εισαγωγή τιμών τυχαία.

Προσθέστε "#" πριν από την δεκαεξαδική τιμή χρώματος και, στη συνέχεια, μπορείτε να αντιστοιχίσετε τιμή απευθείας σε μεταβλητό χρώμα.

Βήμα 4: Λειτουργία HSB

Εκτός από τη λειτουργία RGB, στη συνέχεια θα μιλήσουμε για τη λειτουργία HSB. Τα παρακάτω δείχνουν τη μέθοδο εκχώρησης τιμών της λειτουργίας HSB.

Παράδειγμα κώδικα (9-5):

[cceN_cpp theme = "dawn"] void setup () {

μέγεθος (400, 400).

colorMode (HSB);

}

άκυρη κλήρωση () {

φόντο (0);

rectMode (ΚΕΝΤΡΟ);

για (int i = 0; i <20; i ++) {

χρώμα col = χρώμα (i/20.0 * 255, 255, 255);

γέμισμα (κολ)

rect (i * 20 + 10, ύψος/2, 10, 300);

}

} [/cceN_cpp]

Στην Επεξεργασία, για να αλλάξουμε τη λειτουργία HSB, δεν έχουμε παρά να προσθέσουμε μια πρόταση colorMode (HSB). Η χρήση της λειτουργίας colorMode () είναι η αλλαγή της λειτουργίας χρώματος. Εάν γράψουμε "HSB" στη παρένθεση, τότε θα οριστεί σε λειτουργία HSB. ενώ γράφουμε "RGB", θα μετατοπιστεί στη λειτουργία RGB.

Αυτό που αξίζει να προσέξετε είναι όταν γράφουμε colorMode (HSB), η προεπιλεγμένη μέγιστη τιμή του HSB είναι 255. Αυτό είναι πολύ διαφορετικό από τη μέγιστη τιμή στο Photoshop. Στο Photoshop, η μέγιστη τιμή του H είναι 360, η μέγιστη τιμή των S και B είναι 100. Επομένως, πρέπει να κάνουμε μετατροπή.

Εάν η τιμή HSB στο Photoshop είναι (55, 100, 100), όταν μετατρέπεται σε Επεξεργασία, αυτή η τιμή θα πρέπει να είναι (55 /360 × 255, 255, 255), δηλαδή (40, 255, 255).

Το colorMode () είναι μια συνάρτηση που μπορεί να επικαλύπτεται. Στη συνέχεια, θα σας την παρουσιάσουμε αναλυτικά.

Βήμα 5: Επικαλυπτόμενη μέθοδος ColorMode

Επομένως, εάν δεν θέλετε να μετατρέψετε την τιμή HSB στο Photoshop με μη αυτόματο τρόπο, μπορείτε να γράψετε "colorMode ()" σε "colorMode (HSB, 360, 100, 100)".

Περίπτωση εφαρμογής HSB Mode 1

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

Παράδειγμα κώδικα (9-6):

[cceN_cpp theme = "dawn"] void setup () {

μέγεθος (800, 800).

φόντο (0);

colorMode (HSB);

}

άκυρη κλήρωση () {

strokeWeight (2);

εγκεφαλικό επεισόδιο (int (millis ()/1000.0 * 10)%255, 255, 255);

float newX, newY;

newX = ποντίκιΧ + (θόρυβος (millis ()/1000.0 + 1.2) - 0.5) * 800;

newY = ποντίκιY + (θόρυβος (millis ()/1000.0) - 0.5) * 800;

γραμμή (mouseX, mouseY, newX, newY);

} [/cceN_cpp]

Όταν ελέγχουμε το H (αποχρώσεις) στο εγκεφαλικό επεισόδιο, έχουμε χρησιμοποιήσει millis (). Θα λάβει το χρόνο λειτουργίας από την αρχή μέχρι σήμερα. Έτσι, καθώς ο χρόνος προχωρά μπροστά, η τιμή του H (απόχρωση) θα αυξηθεί αυτόματα και μετά θα αλλάξει το χρώμα.

Η μονάδα του millis () είναι ms. Έτσι, όταν το πρόγραμμα εκτελείται για 1 δευτερόλεπτο, η τιμή επιστροφής θα είναι 1000. Αυτό θα οδηγήσει σε μια τιμή που είναι πολύ μεγάλη. Πρέπει λοιπόν να το διαιρέσουμε με το 1000.0.

Επειδή ελπίζουμε ότι τα χρώματα θα παρουσιάζουν περιοδική κυκλοφορία, οπότε πρέπει να κάνουμε λειτουργία modulo όταν τελικά γράψουμε την πρώτη παράμετρο στο εγκεφαλικό επεισόδιο. Αυτό μπορεί να διασφαλίσει ότι θα ξεκινήσει ξανά από το 0 όταν το H (απόχρωση) έχει ξεπεράσει το 255.

Λειτουργία strokeWeight () μπορεί να ελέγξει το πάχος των γραμμών. Η αντίστοιχη μονάδα για τις παραμέτρους εντός του βραχίονα είναι pixel.

Βήμα 6: Λειτουργία Περίπτωση εφαρμογής 2

Παράδειγμα κώδικα (9-7):

[cceN_cpp theme = "dawn"] int num; // ποσότητα γραμμών που σχεδιάζονται αυτήν τη στιγμή

float posX_A, posY_A; // Συντεταγμένη του σημείου Α

float posX_B, posY_B; // Συντεταγμένη του σημείου Β

float angleA, speedA? // Γωνία του σημείου Α, ταχύτητα

float angleB, speedB? // Γωνία του σημείου Β, ταχύτητα

float radiusX_A, radiusY_A? // Η ακτίνα του οβάλ που σχηματίζεται από το σημείο Α στον άξονα Χ (Υ).

float radiusX_B, radiusY_B? // ακτίνα οβάλ που σχηματίζεται από το σημείο Β στον άξονα Χ (Υ).

void setup () {

μέγεθος (800, 800).

colorMode (HSB);

φόντο (0);

ταχύτηταA = 0.0009;

ταχύτηταB = 0,003;

ακτίναX_A = 300;

ακτίναY_A = 200;

ακτίναΧ_Β = 200;

ακτίναY_B = 300;

}

άκυρη κλήρωση () {

μετάφραση (πλάτος/2, ύψος/2).

για (int i = 0; i <50; i ++) {

γωνίαA += ταχύτηταA;

γωνίαB += ταχύτηταB;

posX_A = cos (angleA) * ακτίναX_A;

posY_A = sin (angleA) * radiusY_A;

posX_B = cos (γωνίαB) * ακτίναX_B;

posY_B = sin (γωνίαB) * ακτίναY_B;

εγκεφαλικό επεισόδιο (int (num/500.0) % 255, 255, 255, 10);

γραμμή (posX_A, posY_A, posX_B, posY_B);

num ++;

}

} [/cceN_cpp]

Εφέ λειτουργίας:

Εικόνα εξόδου:

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

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

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

Παρακάτω είναι το σχηματικό σχήμα. Μπορείτε να δείτε το ίχνος κίνησης των κύκλων πιο καθαρά.

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

Βήμα 7: Λειτουργία ανάμειξης επιπέδων

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

Ανοίξτε το παράθυρο στρώματος στο PS, κάντε κλικ για να επιλέξετε τη λειτουργία ανάμειξης των επιπέδων και, στη συνέχεια, μπορούμε να δούμε αυτές τις επιλογές.

Αυτές είναι οι υπάρχουσες λειτουργίες επιπέδου στο PS. Για να το πούμε απλά, η λειτουργία ανάμειξης μπορεί να θεωρηθεί ως ένα είδος λειτουργίας υπολογισμού χρώματος. Θα αποφασίσει ποιο χρώμα θα δημιουργηθεί το τελευταίο όταν "χρώμα Α" συν "χρώμα Β". Εδώ "χρώμα Α" σημαίνει το χρώμα πίσω από το τρέχον στρώμα (που ονομάζεται επίσης βασικό χρώμα). "Χρώμα Β" σημαίνει το χρώμα του τρέχοντος στρώματος (που ονομάζεται επίσης μικτό χρώμα). Το πρόγραμμα θα υπολογίσει για να αποκτήσει το χρώμα C σύμφωνα με την τιμή RGB και το άλφα του χρώματος Α και Β. Θα εμφανιστεί στην οθόνη ως χρώμα.

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

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

Παράδειγμα κώδικα (9-8):

[cceN_cpp theme = "dawn"] PImage image1, image2;

void setup () {

μέγεθος (800, 400).

image1 = loadImage ("1.jpg");

image2 = loadImage ("2.jpg");

}

άκυρη κλήρωση () {

φόντο (0);

blendMode (ADD);

εικόνα (εικόνα1, 0, 0, 400, 400);

εικόνα (image2, mouseX, mouseY, 400, 400);

}

[/cceN_cpp]

Αποτέλεσμα:

Η λειτουργία blendMode () χρησιμοποιείται για να ορίσετε τη λειτουργία ανάμειξης γραφικών. Συμπληρώνουμε την ΠΡΟΣΘΗΚΗ πίσω σημαίνει ότι έχουμε ορίσει Προσθήκη λειτουργίας.

Στο πρόγραμμα, δεν υπάρχει έννοια του επιπέδου. Επειδή όμως υπάρχει ακολουθία σχεδίασης των γραφικών στοιχείων, κατά τον συνδυασμό εικόνων, η εικόνα 1 θεωρείται ως βασικό χρώμα και η εικόνα 2 ως μικτό χρώμα.

Η λειτουργία ADD ανήκει στο "Brighten Class". Αφού το χρησιμοποιήσετε, θα έχετε ένα λαμπερό αποτέλεσμα.

Παρακάτω είναι μια λειτουργία ανάμειξης που μπορεί να χρησιμοποιηθεί στην Επεξεργασία.

Βήμα 8: Επεξεργασία λειτουργίας ανάμειξης

Μπορούμε να προσπαθήσουμε να αλλάξουμε διαφορετικό τρόπο ανάμειξης για να δούμε το αποτέλεσμα.

Όταν το παράδειγμα (9-8) έχει υιοθετήσει λειτουργία επικάλυψης (το φόντο πρέπει να οριστεί σε λευκό):

Μετά τη χρήση της Λειτουργίας αφαιρέσεων (το φόντο πρέπει να οριστεί σε λευκό):

Βήμα 9: Θήκη εφαρμογής Layer Blending Mode

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

Παράδειγμα κώδικα (9-9):

[cceN_cpp theme = "dawn"] void setup () {

μέγεθος (400, 400).

}

άκυρη κλήρωση () {

φόντο (0);

blendMode (ADD);

int num = int (3000 * mouseX/400.0);

για (int i = 0; i <num; i ++) {

εάν (τυχαίο (1) <0,5) {

γέμισμα (0, 50, 0);

}αλλού{

γέμισμα (50)?

}

έλλειψη (τυχαία (50, πλάτος - 50), τυχαία (50, ύψος - 50), 20, 20).

}

}

[/cceN_cpp]

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

Η ΠΡΟΣΘΗΚΗ και η ΟΘΟΝΗ είναι αρκετά παρόμοια. Αν και είναι το ίδιο για να φωτίζει, υπάρχουν λεπτές διαφορές. Μπορείτε να το αντικαταστήσετε στην ΟΘΟΝΗ και να κάνετε σύγκριση. Μετά την επικάλυψη, η καθαρότητα και η φωτεινότητα του ADD θα είναι υψηλότερα. Είναι κατάλληλο για αναλογική επίδραση φωτισμού.

Όσον αφορά το χρώμα, εδώ φτάσαμε στο τέλος αυτού του κεφαλαίου. Για αυτήν τη "γλώσσα", έχετε ήδη κατακτήσει αρκετά κενά. Τώρα, σπεύσατε να χρησιμοποιήσετε τον κωδικό για να απολαύσετε τον κόσμο του σχήματος και του χρώματος!

Βήμα 10: Πηγή

Αυτό το άρθρο προέρχεται από:

Εάν έχετε οποιεσδήποτε ερωτήσεις, μπορείτε να επικοινωνήσετε στο : [email protected].

Συνιστάται: