שאלה בגרפיקה

SHMENDOZA

New member
שאלה בגרפיקה

בניתי משחק שש בש ואני רוצה לקחת עם העכבר חייל, הבעיה היא שלעכבר יש רק X ו Y ואני צריך להתייחס לשלושת המימדים. איך אני מגלה מתי העכבר נמצא על חייל כשהו? (ללא שימוש ב DIRECTX) תודה מראש.
 

neko

New member
אתה צריך לתרגם את הXY של העכבר

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

ZDanielZ

New member
זה לא עד כדי כך טריוויאלי...

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

selalerer

New member
זה קו שהולך מה"מסך" שזה מישור בנקוד

ה XY שלו ופנימה אל תוך ציר הZ (בהנחה שציר הZ מאונך למסך). צריך למצוא על הקו הזה את הנקודה הראשונה שמצוייר בה משהו ועל האובייקט בנקודה הזאת התבצעה הלחיצה.
 

SHMENDOZA

New member
את זה ידעתי, אבל יש בעיה אחרת

אני מכיר את הנוסחה הזאת:
U = -PZ / (Z - PZ) X' = PX + (X - PX) * U Y' = PY + (Y - PY) * U​
כאשר PX PY וPZ הם מרכז הפרספקטיבה... אז אני כשאני מציב במשוואה את ה X והY שלי חסר לי עוד ערך כדי לקבל את U אז יש דרך אחרת לקבל את U? או שהדרך היחידה היא לעשות מערכת משוואות?
 
למעלה