פסח זה חג של משוגעים

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

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

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

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

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

בשישי ושבת הייתי בבית ולא עשיתי הרבה ממה שאני זוכר, ביום ראשון נסעתי לשלמה למפגש שכלל את שלמה, הגלבר, שירה, ועוד 2 אנשים. אין לי הרבה מה להגיד על זה, היו אנשים שניסו לחנך אותי על איך להתנהג בחברת אנשים, זה היה די מעצבן. היו גם אנשים שאמרו שהחלטתי שלא רציתי להנות, אני חושב שבשלב כלשהו הם החליטו להסתכל על המצב ככה, גם כי זה לא היה נכון, גם כי נהניתי מדברים מסוימים. בעיקר עיצבן אותי כשהם אמרו את זה כשלא נהניתי מדברים ספציפיים, והחליטו להסתכל על המצב ככה, כמו כשלא רציתי להיות חברותי במיוחד כשעדיין שכבתי במיטה וכולם חצי קמו. “כן, הוא לא רוצה לעלות למעלה כי הוא החליט לא להנות”. קמנו בבוקר, נסענו הביתה, ראיתי את הודעת הפייסבוק ששלח לי רנן גרוס, שלמדתי איתו בטכניון, הכותב את https://sarcasticresonance.wordpress.com. הוא הציע שניפגש, אני אמרתי סבבה, וסידרתי את העניינים עם הגלבר שגם להם אמרתי שאפגש באותו היום.

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

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

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

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

מחר קמים למלחמה נוספת, לילה טוב לכולם.

נספח:

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

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

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

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s