תוכן עניינים:

הדרכת תכנות מעניינת למעצב-הפעל את התמונה שלך (חלק שני): 8 שלבים
הדרכת תכנות מעניינת למעצב-הפעל את התמונה שלך (חלק שני): 8 שלבים

וִידֵאוֹ: הדרכת תכנות מעניינת למעצב-הפעל את התמונה שלך (חלק שני): 8 שלבים

וִידֵאוֹ: הדרכת תכנות מעניינת למעצב-הפעל את התמונה שלך (חלק שני): 8 שלבים
וִידֵאוֹ: עשר הנשים הכי גבוהות בעולם┃טופטן 2024, יוני
Anonim
הדרכת תכנות מעניינת למעצב-הפעל את התמונה שלך (חלק שני)
הדרכת תכנות מעניינת למעצב-הפעל את התמונה שלך (חלק שני)

מתמטיקה, לרובכם, נראית חסרת תועלת. הנפוץ ביותר בחיי היומיום שלנו הוא רק להוסיף, להפחית, להכפיל ולחלק. עם זאת, זה די שונה אם אתה יכול ליצור עם תוכנית. ככל שתדע יותר, כך תקבל תוצאה נפלאה יותר.

שלב 1: תנועה ותפקוד

תן לי להראות לך כמה תמונות לא ידועות כדי לעורר את טעמך.

מה זה? עכשיו רק שמור את השאלה הזו קודם ואחרון אתה תדע ותשתמש בה.

בפרק האחרון למדנו הגדרת פונקציות וציור פונקציות, מה שיכול לגרום לגרפיקה הסטטית להפוך לדינאמית. עם זאת, פורמט תנועה זה פשוט מדי. אנו הולכים להשתמש בידע הפונקציות ששלטנו בעבר כדי להריץ את הגרפיקה שלנו עם אופי משלהם.

כמה פונקציות אתה יכול לזהות מהתמונות למעלה? איזו מערכת יחסים יש להם עם תנועה? עכשיו בואו נאסוף ממנה פונקציה ריבועית, נוסיף כמה פרמטרים באופן אקראי ונראה מה יקרה. לדוגמה, y = x² / 100.

כך נראית תמונת הפונקציה. העתיקו את הקוד למטה.

[cceN_cpp theme = "dawn"] float x, y; הגדרת חלל () {גודל (300, 300); רקע (0); x = 0; } תיקו חלל () {שבץ (255); strokeWeight (2); y = pow (x, 2) / 100.0; // פונקציית pow תחזור לעוצמה ה- n של מספר הייעוד. (x, 2) מייצג את הריבוע של x. הפרמטר הראשון הוא מספר הבסיס והשני הוא המדד. נקודה (x, y); x ++; } [/cceN_cpp]

אפקט ריצה

לאחר מכן, בחר פונקציה חטא. נוסחה: y = 150 + sin (x).

העתיקו את הקוד הבא.

[cceN_cpp theme = "dawn"] float x, y; הגדרת חלל () {גודל (300, 300); רקע (0); x = 0; } צייר חלל () {y = גובה/2 + sin (רדיאנים (x)) * 150; // פונקציה רדיאן להפוך x לזווית. x ++; שבץ (255); strokeWeight (2); נקודה (x, y); } [/cceN_cpp]

אפקט ריצה

זו הגרפיקה שאנו מקבלים לאחר הפעלת הקוד. ואלו מסלולי התנועה שלהם. בהשוואה לשעבר, התוצאה ברורה. תמונת הפונקציה תואמת למעשה את מסלול התנועה! זה די פשוט. אתה רק צריך להחליף את הערך של x, y לקואורדינטות. המסלול הקודם שציירנו שקול לגרפיקה של הפונקציה y = x² / 100. בעוד שהמסלול השני שווה לגרפיקה של הפונקציה y = 150 + sin (x). אך בתוכנית, כיוון ציר y הפוך. אז, בהשוואה לגרפיקה המקורית, המסלול יהיה הפוך. עכשיו, אני מניח שתהיה לך תחושה שכמה שאלות קשות שרדפו אותך במשך זמן רב נפתרות מיד. מדהים שניתן להשתמש בפונקציות הפנטסטיות האלה שלמדנו קודם לשליטה בתנועה גרפית!

שלב 2: כתיבת פונקציה

ציינתי להלן מספר פונקציות נפוצות. מקווה שאלו יכולים לעזור לנו לתרגם פונקציות לקוד שניתן לזהות אותו על ידי מחשב.

לכן, הנוסחה להלן בתוכנית תיכתב כך:

y = x² → y = pow (x, 2) או y = sq (x)

y = x³ → y = pow (x, 3)

y = xⁿ → y = pow (x, n)

y = 4ⁿ → y = pow (4, n)

y = logₑ² → y = log (2)

y = e² → y = exp (2)

y = √5 → y = sqrt (5)

אתה יכול גם לכתוב פונקציה באופן אקראי לתוכנית ולראות איך מסלול התנועה שלה ייראה. זכור לשקול את טווח שדות הערך ותחום ההגדרה, אחרת הגרפיקה שלך תיגמר מהמסך.

פונקציה טריגונומטרית

כעת, נלך רחוק יותר להכיר כמה כתבים של פונקציות טריגונומטריות.

עלינו לשים לב כי בתוכנית הקלט של פרמטר הפונקציה ביחס לזווית מאמץ רדיאן. כך sin90 ° ייכתב לחטא (PI / 2). אם אינך מכיר את השיטה הזו, תוכל להשתמש בפונקציות רנדיאנים כדי להפוך זווית לרדיאן לפני כן, ולאחר מכן לכתוב sin (radians (90)).

השימוש במעלות פונקציה הוא הפוך יחסית. הוא יכול להפוך רדיאן לזווית. הזן הדפסה (מעלות (PI/2)) ישירות לאזור העריכה, וראה מה תקבל.

שלב 3: שליטה בתנועה גרפית עם פונקציה טריגונומטרית

הנה מקרה שתוכל לראות את ההשפעה האמיתית של תנועה גרפית.

[cceN_cpp theme = "dawn"] float x, y; הגדרת חלל () {גודל (700, 300); } צייר חלל () {רקע (234, 113, 107); y = sin (רדיאנים (x)) * 150 + 150; x ++; noStroke (); אליפסה (x, y, 50, 50); } [/cceN_cpp]

חטא פונקציה הוא פונקציה תקופתית. הערך המינימלי שלו הוא -1, והערך המרבי הוא 1. גובה המסך הוא 300. הכוונה ל- y = sin (רדיאנים (x)) * 150 + 150, לכן טווח השינויים של הערך y יהיה נשלט היטב בתוך 0 עד 300.

מעגל מסתובב

ובכן, סוף סוף הגענו לחלק החשוב ביותר בפרק זה. איך לצייר מסלול מעגל בתוכנית? כיצד להשתמש בפונקציות להצגתו? הרשה לי להראות לך שוב את שתי התמונות שראינו בתחילת מאמר זה.

למעשה הם חשפו ויזואלית את הקשר בין קואורדינטות ההיקף לתפקוד הטריגונומטרי. התנועה בתמונות לעיל מונעת על ידי המשתנה העצמאי ההולך וגדל θ. שמאל הוא דימוי הפונקציה sin ו- cos, והימין מייצג נקודה שעושה תנועה מעגלית לאחר מיפוי. האם זה לא חכם במיוחד? זה כבר לא מסתורי. אתה יכול להשתמש בקוד כדי לממש אותו.

דוגמא פשוטה:

[cceN_cpp theme = "dawn"] float x, y, r, R, זווית; הגדרת חלל () {גודל (300, 300); r = 20; // קוטר מעגל R = 100; // רדיוס תנועה נתיב x = 0; זווית = 0; y = גובה/2; } צייר חלל () {רקע (234, 113, 107); תרגם (רוחב/2, גובה/2); // העבר את הנקודה המקורית למרכז המסך. noStroke (); x = R * cos (זווית); y = R * sin (זווית); אליפסה (x, y, r, r); זווית += 0.05; } [/cceN_cpp]

תראה! מופיע מעגל מסתובב! כאן, המשתנה הבלתי תלוי אינו יותר בעלייה קבועה ביט הופך לזווית (שווה ל- θ בתמונה). זה לעמוד לזווית. ביניהם, ל- xy יש מקדם R מוכפל יחסית, מה שמוביל להרחבת רדיוס תנועת המעגל (R הוא לרדיוס). אם הוא לא יכפיל את R, נתיב התנועה שלו יהיה מוגבל בטווח שבין -1 ל -1.

מדוע לא להשתמש ב- x הגדל? על פי המאפיין של הפונקציה עצמה, לכל x בתוך תחום ההגדרה יש ה- y היחיד שיתאים לו. אז במערכת קואורדינטות ממדים מלבניים מישוריים, לא ניתן לגלות "פונקציה פשוטה" לצייר עיגול ישירות. זאת אומרת שאיננו יכולים עוד להשתמש בפורמט זה.

y = (הביטוי הלא ידוע של x?);

x ++;

אז עלינו לשנות את הרעיון שלנו. בחר זווית אחרת כמשתנה עצמאי ולאחר מכן השתמש בפונקציית sin ו- cos כדי להפוך אותה לקואורדינטות אופקיות ואנכיות.

x = R * cos (זווית);

y = R * sin (זווית);

זווית += 0.05;

כמה מכם אולי תוהים מדוע הוא יכול להציג את נתיב תנועת המעגלים. על פי ההגדרה של הפונקציה הטריגונומטרית, אנו יכולים בקלות לנמק כי הפונקציה חוטאת את היחס בין הצד הנגדי להיפוטנוזה; פונקציה cos היא היחס בין הצמוד להיפוטנוזה. לא משנה היכן נקודת המעגל נמצאת, r (רדיוס) יישאר ללא שינוי. לכן אנו יכולים לסכם את הביטוי של קואורדינטות x ו- y קואורדינטות.

מכיוון שזו אינה הנחיה מתמטית, כאן אני עומד להפסיק להציג לך יותר ידע על תפקוד טריגונומטרי. אם אתה רוצה לדעת את זה או שאתה פשוט שוכח את זה, אתה יכול לנסות לבדוק את זה שוב בעצמך.

כמובן שזה בסדר אם אינך יכול להבין זאת במלואו. אתה רק צריך לדעת איך להשתמש בו כדי לצייר עיגול. זהו גם סוג של "רעיון תכנות". מאוחר יותר, לעתים קרובות נפעיל חלק מהמודולים הקיימים שיצרו אחרים למימוש סוג מסוים של פונקציות. רק אל תדחוף את עצמך לדעת את זה בפירוט.

עם זאת, תפקוד חטא וקוס נפוץ. אם אתה רוצה ליצור יצירה ברמה גבוהה יותר, מוטב שתנסה להכיר אותה היטב. אם שאלה זו עצמה יכולה להניע את עצמנו ללמוד יותר ידע מתמטי, יש דברים מעניינים יותר שמחכים שתחפצו.

אלה הן תמונות הדומות יחסית לתפקוד הטריגונומטרי.

שלב 4: מערכת קואורדינטות תנועה

ההשפעות הקודמות עוסקות בשינויי קואורדינטות גרפיות. מערכת הקואורדינטות עצמה סטטית. למעשה אנו יכולים לבצע את המהלך המתואם למימוש אפקט תנועתי. זה בדיוק כמו שאנשים על החוף צופים באנשים האחרים בסירה. עבור אנשים על הסירה, הסירה סטטית. אבל מה אם הסירה עצמה נעה, אז אנשים בסירה נעים איתה. המקרים לשעבר עוסקים כולם ב"אנשים שרצים על הסירה ". למעשה, הסירה לא זזה. להלן מספר פונקציות נפוצות לשינוי מערכת קואורדינטות.

תרגום פונקציות

תרגום פונקציות, שדיברנו עליה בעבר, משמש להעברת מערכת קואורדינטות של הגרפיקה לרוחב.

הפעלת פורמט:

לתרגם (א, ב)

הפרמטר הראשון מייצג מעבר לכיוון החיובי של ציר x עבור פיקסלים. הפרמטר השני מייצג מעבר לכיוון החיובי של ציר y עבור פיקסלים b.

השווה את שני הקוד ונסה למצוא הבדל. (על מנת לפשט את הקוד, אנו יכולים למחוק את גודל הפונקציה, רוחב המסך והגובה כברירת מחדל הם 100.)

לפני שנשתמש:

אליפסה (0, 0, 20, 20);

לאחר השימוש:

לתרגם (50, 50);

אליפסה (0, 0, 20, 20);

פונקציה מסתובבת

הפעלת פורמט:

סובב (א)

הוא משמש לסיבוב מערכת קואורדינטות. כאשר הפרמטר חיובי, הוא יבחר את הנקודה המקורית כנקודת מרכז ויסתובב בכיוון השעון. קלט הפרמטר זהה לפונקציה הטריגונומטרית לשימוש ברדיאן.

לפני השימוש:

אליפסה (50, 50, 20, 20);

אחרי שימוש:

לסובב (רדיאנים (30));

אליפסה (50, 50, 20, 20);

אפקט התוכנית הוא לגרום למעגל להסתובב סביב נקודת מרכז הקואורדינטות בכיוון השעון למשך 30 מעלות.

סולם פונקציות

הפעלת פורמט:

סולם (א)

פונקציה זו יכולה להגדיל את מערכת הקואורדינטות. הערך הוא עבור קנה מידה. כאשר הפרמטר עולה על 1, התקרב; אם הוא נמוך מ -1, הקטן את התצוגה.

לפני השימוש:

אליפסה (0, 0, 20, 20);

אחרי שימוש:

סולם (4);

אליפסה (0, 0, 20, 20);

העיגול בתמונה למעלה מוגבר לארבע פעמים בגודל המקורי. כמו כן, תוכל להשתמש בשני פרמטרים כדי להתקרב לכיווני ציר x וצירי y בנפרד.

סולם (4, 2);

אליפסה (0, 0, 20, 20);

סופרפוזיציה של פונקציית הטרנספורמציה

כאן, סופרפוזיציה עוסקת בשינויים ביחס למערכת הקואורדינטות הנוכחית. במילים אחרות, ניתן להעלות אפקטים.

לתרגם (40, 10);

לתרגם (10, 40);

אליפסה (0, 0, 20, 20);

ההשפעה הסופית שלה תהיה שווה ל

לתרגם (50, 50);

אליפסה (0, 0, 20, 20);

אותו דבר לתפקוד סיבוב

לסובב (רדיאנים (10));

לסובב (רדיאנים (20));

אליפסה (50, 50, 20, 20);

שווה ל

לסובב (רדיאנים (30));

אליפסה (50, 50, 20, 20);

שניהם מתפקדים בקנה מידה וגם מסתובבים במרכז בנקודה המקורית כדי לסולם ולסובב. אם אנו רוצים לקבל את אפקט הסיבוב עם מיקום מרכזי ב (50, 50), עלינו לחשוב בצורה הפוכה. ראשית העבר את הנקודה המקורית למיקום (50, 50), ולאחר מכן הוסף את פונקציית השינוי המסתובב. לבסוף צייר את הגרפיקה שלך על הנקודה המקורית.

לפני השימוש:

אליפסה (50, 50, 50, 20);

אחרי שימוש:

לתרגם (50, 50);

לסובב (רדיאנים (45));

אליפסה (0, 0, 50, 20); // על מנת לראות את שינוי הזווית המסתובבת, יצרנו אליפסה.

זה אולי נראה מתפתל. אתה רק צריך להתאמן יותר אז אתה תבין את זה. (אתה יכול גם לנסות לשנות את רצף הפונקציות לתרגם ולסובב כדי לראות את ההבדל.)

תנועה אופקית ותנועה מעגלית

במקרים הבאים, אנו הולכים לממש את האפקט התנועתי באמצעות שינוי מערכת הקואורדינטות. יחד עם זאת, ברצוני לבקש שתפנה לדוגמא של הפרק הקודם. לרוב, תמצא על מנת לממש סוג מסוים של השפעה, תוכל להשתמש בשיטה שונה בתכלית.

שלב 5: תנועה אופקית

[cceN_cpp theme = "dawn"]

int x, y; הגדרת חלל () {גודל (300, 300); x = 0; y = גובה/2; } צייר חלל () {רקע (234, 113, 107); noStroke (); תרגם (x, y); אליפסה (0, 0, 50, 50); x ++; } [/cceN_cpp]

קואורדינטות המעגל אינן משתנות אך מערכת הקואורדינטות שלה משתנה.

סובב תנועה

[cceN_cpp theme = "dawn"] float r, R, זווית; הגדרת חלל () {גודל (300, 300); r = 20; // ממד המעגל R = 100; // רדיוס תנועה מסלול} צייר חלל () {רקע (234, 113, 107); תרגם (רוחב/2, גובה/2); // העבר את הנקודה המקורית למרכז המסך. לסובב (זווית); noStroke (); אליפסה (0, R, r, r); זווית += 0.05; } [/cceN_cpp]

האין זה הרבה יותר ברור ופשוט מהפונקציה הטריגונומטרית? אולי יש לך כאן שאלה. קח כדוגמה קוד מסתובב. ברור שפונקציית הטרנספורמציה שהוזכרה לעיל היא יחסית ומאפשרת העלאה. אם נכתוב תרגום (רוחב/2, גובה/2) לצירוף פונקציות, אין זה אומר שכל פעם שצייר פונקציות יפעל פעם אחת, מערכת הקואורדינטות תנוע מרחק בכיוון התחתון הנכון מהבסיס המקורי? באופן סביר זה לא יישאר במרכז המסך לנצח.

אתה יכול להבין בצורה כזו. לאחר ש- code in function draw השלים פעולה מלמעלה למטה, מערכת הקואורדינטות תחזור למצב התחלתי בפעולה השנייה. הנקודה המקורית של מערכת הקואורדינטות תהיה ברירת מחדל כדי לחזור לפינה העליונה השמאלית. אז אם נרצה לגרום למערכת הקואורדינטות להשתנות ללא הרף, פרמטרי הזווית בתוך הפונקציה מסתובבים יגדילו את ערכה ללא הרף.

גישה לסטטוס תיאום גישה

לפעמים, איננו רוצים ששינוי סטטוס מערכת הקואורדינטות מבוסס על המערכת הקודמת. בשלב זה עלינו להשתמש בפונקציה pushMatrix ו- popMatrix. שתי הפונקציות מופיעות בדרך כלל בזוגות. פונקציית pushMatrix נמצאת לפני popMatrix. לא ניתן להשתמש בהם אך ורק, או שזה ישתבש.

דוגמא:

[cceN_cpp theme = "dawn"] pushMatrix (); // תרגום סטטוס מערכת קואורדינטות חנות (50, 50); אליפסה (0, 0, 20, 20); popMatrix (); // קרא מצב סטטוס מערכת מתאם (0, 0, 20, 20); [/cceN_cpp]

בדוגמה זו, לפני השימוש בתרגום (50, 50), אנו משתמשים בפונקציה pushMatrix. כדי לאחסן את המצב הנוכחי של מערכת הקואורדינטות. זהו, במקביל, הסטטוס הראשוני. לאחר שציירנו עיגול ואז ניישם את popMatrix, הוא יחזור למצב זה. בשלב זה, הפעל את הפונקציה rect, תמצא שהיא לא סבלה מההשפעה מתרגום פונקציות במקום זאת היא מציירת ריבוע בפינה העליונה השמאלית של הנקודה המקורית.

חוץ מזה, פונקציית pushMatrix ו- popMatrix מאפשרות קינון.

לדוגמה

pushMatrix ();

pushMatrix ();

popMatrix ();

popMatrix ();

על מנת להראות את מערכת היחסים שלה באופן אינטואיטיבי, אנו בוחרים בפורמט עיבוי.

תנועה משולבת או תנועה בתנועה?

כעת מתחיל הגל השני של החלק החשוב. רק תנסה לדחוף קדימה. בעבר השתמשנו במטאפורה של סירה ואנשים. האם אי פעם חשבת מה אם אנחנו גורמים לאנשים וגם לסירה לנוע, איזו תחושה תהיה לאנשים על החוף?

כמו לשלב תנועה אופקית עם תנועה מסתובבת של מערכת הקואורדינטות. הנקודה כאן היא בעצם לנוע בכיוון בלבד.

[cceN_cpp theme = "dawn"] int x, y; זווית צף; הגדרת חלל () {גודל (300, 300); רקע (234, 113, 107); noStroke (); x = 0; // כאשר הערך ההתחלתי של x הוא 0, אנו יכולים להזניח את משפט הקוד הזה. בעת הצהרת משתנה, ערך ברירת המחדל הוא 0. y = 0; // כנ"ל. זווית = 0; // כנ"ל. } צייר חלל () {זווית += 0.25; y--; תרגם (רוחב/2, גובה/2); pushMatrix (); לסובב (זווית); אליפסה (x, y, 5, 5); popMatrix (); } [/cceN_cpp]

ויש תנועה מעגלית וקנה מידה של מערכת תיאום.

[cceN_cpp theme = "dawn"] לצוף x, y, זווית; הגדרת חלל () {גודל (300, 300); רקע (234, 113, 107); noStroke (); } צייר חלל () {זווית += 0.01; x = חטא (זווית) * 100; y = cos (זווית) * 100; תרגם (רוחב / 2, גובה / 2); pushMatrix (); סולם (1 + 0.1 * חטא (זווית * 10)); אליפסה (x, y, 5, 5); popMatrix (); } [/cceN_cpp]

אל תתבאס מזה! נקודת המעגל היא למעשה ביצוע תנועה מעגלית. לא קשה להבין אם נשווה אותו להרחבה עם מצלמת וידיאו. מצלמת וידאו כל הזמן נעה קדימה או אחורה מצלמת נקודה בתנועה מעגלית.

מוּפתָע? אלה פונקציות בסיסיות פשוטות. אך עם שילוב שונה, אנו יכולים ליצור כל כך הרבה אפקטים שונים. עד כה, החשיפה שלי נעצרת כדי לחסוך קצת מקום לחקירה שלך.

שלב 6: שימוש מקיף

פרק זה עומד להסתיים בקרוב. בשני הפרקים האחרונים הצגתי את השיטה הבסיסית של תנועה גרפית. אני מאמין שאולי תהיה לך הבנה עמוקה יותר בהשוואה לרעיונות הראשוניים שלך. ולפחות, להלן דוגמה שהושלמה לעיונך.

[cceN_cpp theme = "dawn"] float x1, y1, x2, y2, r, R; זווית צף 1, זווית 2; הגדרת חלל () {גודל (300, 300); r = 12; R = 120; זווית 1 = 0; זווית 2 = PI/4; } צייר חלל () {רקע (234, 113, 107); noStroke (); תרגם (רוחב / 2, גובה / 2); זווית 1 += 0.02; זווית 2 += 0.06; x1 = R *sin (זווית 1); y1 = R* cos (זווית 1); x2 = R/2 *sin (זווית 2); y2 = R/2 *cos (זווית 2); אליפסה (x1, y1, r/2, r/2); אליפסה (x2, y2, r, r); אליפסה (-x1, -y1, r/2, r/2); אליפסה (-x2, -y2, r, r); אליפסה (x1, -y1, r/2, r/2); אליפסה (x2, -y2, r, r); אליפסה (-x1, y1, r/2, r/2); אליפסה (-x2, y2, r, r); שבץ (255); strokeWeight (3); קו (x1, y1, x2, y2); קו (-x1, -y1, -x2, -y2); קו (x1, -y1, x2, -y2); קו (-x1, y1, -x2, y2); } [/cceN_cpp]

דוגמה זו אינה מכילה ידע מעבר לפרק הקודם שהוצג.

לאילו נקודות תואם? אילו קווים תואמים? גם אני לא מצליח להבין את זה. אבל אני זוכר שזה נובע מקטע קטן של קוד.

זהו אופי התנועה שלה. קווי המנוחה הם רק אפקט מראה.אם תמשיך לעקוב אחר הנחיות אלה, תוכל ליצור גרסה מעודכנת ולהוסיף בקר לגרפיקה שלך כדי לשנות את מצב התנועה הגרפית שלך בזמן אמת.

הנקודה המעניינת של התכנות טמונה בכך שאתה יכול לעצב או לשלב תקנות. אולם התוכנית הסופית תלויה ביכולת שלך. בדרך כלל למעצבים יש דמיון גרפי רב עוצמה. אתה יכול לשרטט תמונה בראש שלך, ולאחר מכן לנסות לתרגם אותה לקוד. כמו כן, תוכל להתחיל מהקוד והתקנות עצמם, פונקציות עיצוב ומשתנים כרצונך. זכור עיבוד הוא הסקיצה שלך והקוד הוא המברשות שלך! פשוט תרסס את הרעיונות שלך בחופשיות!

שלב 7: סיום

אחרון בפרקנו, נחזור לשאלה ששמרנו זמן רב מאז ההתחלה. מה השימוש להשקיע כל כך הרבה מאמץ כדי ליצור תמונה עם תוכנית? לאחר שלמדת פרק זה, תגלו שיש כל כך הרבה שיטות משחק שמחכות שתחקרו.

[cceN_cpp theme = "dawn"] צף מצח X, earD, eyeD, faceD; הגדרת חלל () {גודל (500, 500); } צייר חלל () {רקע (200, 0, 0); browX = 150 + sin (frameCount / 30.0) *20; earD = 180 + sin (frameCount / 10.0) *20; eyeD = 60 + sin (frameCount/30.0) *50; פנים D = 300; strokeWeight (8); אליפסה (175, 220, earD, earD); אליפסה (רוחב - 175, 220, earD, earD); rect (100, 100, faceD, faceD); קו (browX, 160, 220, 240); קו (width-browX, 160, width-220, 240); מילוי (אקראי (255), אקראי (255), אקראי (255)); אליפסה (175, 220, eyeD, eyeD); אליפסה (רוחב-175, 220, eyeD, eyeD); מילוי (255); נקודה (רוחב/2, גובה/2); משולש (170 - cos (frameCount / 10.0) * 20, 300 - sin (frameCount / 10.0) * 20, רוחב - (170 + cos (frameCount / 10.0) * 20), 300 + sin (frameCount / 10.0) * 20, 250, 350); } [/cceN_cpp]

האין זה קסם לגרפיקה דינאמית? כאן אני לא מראה לך יותר מדי מקרים. אולי תוכל לעצב אפקט הרבה יותר טוב ממני. היתרון של ציור עם תוכנית קיים שאתה יכול לשחק עם כל פיקסל. מכיוון שהגרפיקה שלך אינה מפת סיביות, כל נקודת מפתח בגרפיקה שלך ניתנת לשליטה. זה יכול לממש כמה אפקטים שתוכנות אחרות לא יכולות לממש.

אם יש לך לב שרוצה לשבור הכל ולשלב אותו שוב, תוכנית הלימודים תעזור לך מאוד להגשים את הרעיון הזה.

מאמר זה מגיע מהמעצב וונזי.

שלב 8: קריאות יחסיות:

הדרכת תכנות מעניינת למעצב-עיבוד מגע ראשוני

הדרכת תכנות מעניינת למעצב-צור את תוכנית העיבוד הראשונה שלך

הדרכת תכנות מעניינת למעצב - הפעל את התמונה שלך (חלק ראשון)

אם יש לך שאלות, תוכל לשלוח מייל לכתובת [email protected].

מאמר זה הוא מתוך:

מוּמלָץ: