
ישנם חומרים, למשל סוגים של זכוכית ונוזלים, שהם שקופים אבל רק באופן חלקי. תופעה פיזיקלית זו היא די מורכבת, וקשורה לתגובה של הפוטונים, חלקיקי האור, עם האלקטרונים והמולקלות בחומר, והאופן שבו העין קולטת ומפרשת אותם. לעומת זאת, בעריכת תמונות במחשב ניתן להשתמש בשקיפות חלקית של תמונות בצורה מאוד פשוטה, ולקבל תוצאות שייראו אמיתיות. נסביר ונדגים זאת באמצעות אפליקציה.
נדמיין שאנו יושבים בחושך, על כורסה בסלון, ומביטים בפנס רחוב מבעד לחלון הפתוח. כשנסגור את החלון, אורו יראה חלש יותר, כיוון שהזגוגית בחלוננו אינה שקופה לגמרי. למה זה קורה? האם הפוטונים, חלקיקי האור, מתעייפים ונחלשים כשהם פוגשים את משטח הזכוכית?
כדי להבין מהי שקיפות חלקית, נלך לתצוגת אופנה ונתבונן בדוגמניות הלובשות שמלות ערב שקופות למחצה. במבט על השמלות מרחוק ייראה צבען אפור. אולם כשנתקרב לדוגמנית נבחין ששמלתה עשויה מרשת של סיבים שחורים עם מרווחים, וצפיפותם קובעת באיזו מידה הדוגמנית תיראה חשופה. כשהבטנו על שמלתה מרחוק, העין קלטה מספר רב של קרני אור, חלקן בצבע סיבי הבד הכהים, וחלקן בצבע גוף בהיר. אולם לעין, כמו למסכי המחשבים, יש מגבלה בכמות הנקודות שניתן לראות, ולכן העין אוספת קרני אור סמוכות, עושה ממוצע משוקלל כלשהו בין צבעיהן (מה שקרוי "פילטר") ויוצרת נקודה צבועה, שאותה אנו רואים.
התופעה שבה העין עושה ממוצע בין צבעי קרני אור שכנות, היא זו שמאפשרת לנו לראות עצמים שקופים חלקית. כשמסתכלים על עצם כזה, העין קולטת ערבוב בין צבע קרני האור המגיעות מאחורי העצם ועוברות אותו, ואלו שמגיעות מהעצם עצמו, והיא יוצרת צבע המשלב ביניהם בהתאם לעוצמתם.
תופעה זו שימושית בתחומים רבים, למשל בתחום האופטיקה ובמחשבים. באופטיקה, השקיפות מוגדרת כיכולת של תווך להעביר קרינה אלקטרומגנטית כמו אור מבלי לפזרה או לבלוע אותה. שקיפות חלקית כמו בחלוננו נובעת מכך שרק חלק מהפוטונים עוברים אותה, והשאר מבצע אינטראקציה עם האלקטרונים או המולקולות בחומר, משנה כיוון או נבלע.
בעריכת תמונות במחשבים אפשר לשלב תמונות שהושמו אחת על השנייה תוך שימוש בשקיפות חלקית. תוכנות העריכה עושות את המיזוג בין הצבעים השונים, ויוצרות צבעים שהם ממוצעים, בדומה למה שהעין שלנו עושה במציאות. לצורך זה משתמשים בטכנולוגיה הנקראת "קומפוזיציית אלפא" [1]. לפני שנסביר, נזכיר שהתמונות במחשב מורכבות מריבועים קטנים הנקראים פיקסלים, וצבען מוגדר על יד שלישיית מספרים הנקראת RGB או ("Red-Green-Blue"). לשם הפשטות נניח שאנו עוסקים בתמונות שחור-לבן, ולכן שלושת המספרים בתמונות שלנו יהיו זהים וינועו בין אפס לאחד, כאשר אפס מייצג שחור, ואחד מייצג לבן.
נניח שיש לנו במחשב תמונה של פנס רחוב שמאיר באור לבן, וערך צבעו 0.9 =C1, ואנו רוצים להלביש מעליה תמונה של קיר בסלון עם חלון הפונה לרחוב. כיצד נעשה זאת? לצורך תמיכה בשקיפות, אנשי המחשבים הגדירו פורמט תמונות הקרוי RGBA, שבו לכל פיקסל, בנוסף לצבע RGB, מוצמד מספר הקרוי אלפא (סימונו: A) המגדיר באיזו מידה הפיקסל אטום. ערך זה נע בין אפס לאחד. אם הוא אחד – הפיקסל אטום לגמרי ומסתיר את מה שמאחוריו, ואם הוא אפס הפיקסל שקוף לגמרי ונראה רק את צבע הרקע. ערכי ביניים מגדירים רמת שקיפות חלקית. אפשר לדמיין את ערך האלפא גם בתור ההסתברות שקרן אור הבוקעת מהרקע תיחסם כשהיא עוברת ריבוע קטן המיוצג על ידי פיקסל.
כדי לשים את התמונה של הקיר מעל תמונת הרחוב נצטרך להגדיר את ערכי האלפא שלה. לשם כך נוכל להשתמש בתוכנת עריכת תמונות, למשל פוטושופ. עבור הפיקסלים שמתארים את הקיר, נרצה שהם יהיו אטומים, ולכן ערך האלפא שלהם יהיה אחד. עבור הפיקסלים שמתארים את החלון, אם נניח למשל שהחלון עוצר 30 אחוז מאור הפנס, נציב A2=0.3. בנוסף, נניח שהסלון אינו חשוך לגמרי, כי יש גם אור בגוון אפור כהה שנופל על החלון, ונציב למשל צבע C2=0.1. מה יהיה הצבע שנראה בחלון?
כאמור, התוכנה הגרפית עושה ממוצע משוקלל בין צבע הפנס C1=0.9 והאור בסלון C2 בהתאם לשקיפות A2. אפשר להסתכל על החישוב גם כבעיית תוחלת בהסתברות, כדי לדמות שקיפות בעולם האמיתי: בהסתברות 70% (אחד פחות A2), הצבע שנקלוט יהיה C1, ובהסתברות 30% הצבע יהיה C2, והתוכנה תייצר את הצבע הממוצע: 0.7*0.9 + 0.3*0.1 = 0.66. לפיכך, הצבע נהיה אפור יותר והפנס יסנוור פחות.
שימוש באלפא הוא דרך פשוטה לשילוב של תמונות עם שקיפות במחשב. קיימים מודלים מורכבים יותר, למשל בפוטושופ, שם ניתן להגדיר שקיפות שונה לכל צבע. בגרפיקה תלת ממדית משתמשים בשקיפות חלקית, בשילוב עם מודלי תאורה מורכבים יותר, גם ליצירת אשליית עומק.
באפליקציה [2] תוכלו לראות כיצד שינוי ערכי אלפא משפיע על שילוב תמונות המונחות אחת על השנייה.
לסיכום, בעיבודי תמונות במחשב ניתן לקבל אשליית שקיפות חלקית שנראית אמינה על ידי שימוש במתמטיקה פשוטה.
הערות והרחבות:
[1] קומפוזיציית אלפא
[2] לאפליקציה