פיקסאר נחשבת לחברה פורצת דרך היוצרת סרטי אנימציה ייחודיים. אולם הידעתם שפיקסאר התחילה את דרכה דווקא בתור חברה לפיתוח טכנולוגיות לאנימציה ממוחשבת? אחד הפיתוחים הידועים שלהם [1] הוא טכנולוגיית אנימציה (surface subdivision) להפיכת מצולעים שנשמרו במחשב לצורות עגלגלות, שנראות יותר עדינות, נעימות ואנושיות.
היוצרים של סרטי אנימציה בונים מודל תלת ממדי ממוחשב של הדמויות בסרט באמצעות מצולעים. למשל, בסרטון [2] בסדרת Numberpile מחזיק טוני דארוז, מדען בכיר בחברת פיקסאר, דגם של יד שתוכנן על ידי המעצבים לסרט האנימציה "המשחק של ג'רי" (1997). הדגם עבר דיגיטציה, כלומר הוזן למחשב, אולם עקב מגבלות גודל הזיכרון והצורך לאפשר גמישות לתנועת היד בסרט, חלקי היד לא נשמרו בצורת נקודות (פיקסלים), אלא בצורת מצולעים. כאשר מבקשים להציג את היד בסרט מתעוררת בעיה: היד שבנויה ממצולעים נראית כמו פסל שגולף ביד גסה: חסרה עגלוליות כמו ביד אמיתית, כמו בקליפ הידוע לשיר Money For Nothing של דייר סטרייטס [3]. כיצד ניתן להתגבר על זה? איך "נשייף את הפסל"?
נראה דוגמה פשוטה לשיטה שפותחה: הפיכת מרובע, למשל מלבן, לצורה עגלגלה. לשם כך נהפוך אותו למצולע מרובה צלעות. אם נשתמש במצולע מתאים עם מספיק צלעות, התוצאה תיראה עגלגלה ונעימה למראה. החוקרים בפיקסאר חיפשו דרכים ליצירת מצולעים מתאימים שיהיה קל לבנותם במחשב.
לפי השיטה של פיקסאר, בשלב הראשון נהפוך את המרובע למתומן (מצולע בעל 8 צלעות). לשם כך, נמקם ארבעה מקודקדי המתומן באמצע כל צלע המלבן, ובין כל זוג שכנים נמקם קודקוד נוסף שיימצא בתוך המרובע, שאת מיקומו נחשב לפי נוסחה שנראה בהמשך (ראו ציור ואנימציה באתר). אם נחבר את שמונת הקודקודים נקבל צורת מתומן שיהיה פחות "שפיצי", אבל נראה עדיין כמו מצולע. אם כן נמשיך בתהליך: נסמן את נקודות האמצע של כל צלע במתומן, וגם שמונה נקודות בתוכו שאת מיקומן נחשב לפי אותה נוסחה. נחבר את הנקודות המסומנות ונקבל מצולע בעל 16 צלעות עם זוויות קהות יותר. נמשיך בתהליך עוד ועוד עד שהתוצאה תיראה מספיק חלקה.
מהי הנוסחה שפותחה לחישוב קודקוד חדש? נניח שיש לנו קודקוד B המחובר מצד אחד לקודקוד A ומצד שני לקודקוד C. נקרא לאמצע AB בשם A1, לאמצע BC בשם C1, ולנקודה חדשה בתוך המצולע בסמוך ל-B בשם B1. נחשב את הקואורדינטות (כלומר ערכי x,y) באמצעות הקואורדינטות של A,B.C באמצעות הכפלה במספרים קבועים הנקראים "משקלים".
למשל: A1 = (A+B)/2 , C1=(C+B)/2 , B1 =(A1+2B+C1)/4
אם נשתמש בשיטה זו בכמה סבבים, הקודקודים יצטופפו ונקבל צורה עגלגלה שהמתמטיקאים קוראים לה "Cubic Spline". השיטה נחשבת לשימושית בזכות פשטותה ועקב מיעוט החישובים בה.
שיטות דומות אבל מורכבות יותר פותחו בפיקסאר לצורך הפיכת משטחים תלת ממדיים לעגלגלים על ידי חלוקתם למקטעים. מי שתרם ומצא סט של משוואות שנותנות תוצאה נעימה לעין היה לא אחר מאשר מנכ"ל חברת פיקסאר אד קטמול, שעסק בעברו רבות בפיתוחים בתחום האנימציה (כן כן, ישנן חברות שבהן אפילו המנכ"ל שלהן עוסק במתמטיקה!). בסרטון [1] תוכלו לראות דוגמאות יפות שבהן הטכניקה עוזרת ל"האנשה" של דמויות.
חברת פיקסאר עברה גלגולים רבים [4, 4ב]. ברבות השנים צמחו תוכנות מתחרות (למשל, Blender) המציעות שלל אפשרויות וטכניקות מתקדמות באנימציה, למשל באמצעות עקומת בזייה [5]. לפיכך החליטה פיקסאר להתמקד בתכנים של סרטים ולא בפיתוח טכנולוגיות, והיא עושה זאת בהצלחה לא מבוטלת. כמו כן פרסמה החברה בפומבי את שיטות האנימציה שפיתחה, ולאחרונה אף שיתפה פעולה עם "אקדמיית קאהן", ויצרה סדרת שיעורים חינמיים המורכבים מסרטונים שמסבירים בצורה פשוטה את המדע והמתמטיקה בתחום האנימציה [6]. מומלץ!
אכן, פיקסאר עשתה פריצות דרך רבות בתחום הטכנולוגיה, וגם יצירות קולנועיות בלתי נשכחות. מהטכנולוגיה והיצירה הקולנועית של החברה למדנו כיצד ניתן לבנות צורות גיאומטריות, ודמויות שנראות עגלגלות, נעימות למראה ולעתים גם אנושיות.
⊗ למעוניינים: בנינו אפליקציה להדגמת התהליך במרובעים שונים
(רקע התמונה על בסיס יצירתו של Alberto Alvarez)
הערות:
[1] טכנולוגיית אנימציה - surface Subdivision
[2] סרטון Numberpile על פיקסאר
[3] Dire Straits - Money For Nothing
[4] מתמטיקה ופיקסאר
[5] עקומת בזייה
[6] הרצאות באקדמיית קאהן על טכנולוגיות פיקסאר