Graphics Summary

24
תתתתתת תתתתתתת תתתתת תתתת תתתתתImaging תתתתת תתתתתת תת תתתתתתModeling תתתתת תתתתתת תתת תתתתתתRendering תתתתת תתתתת תת תתתתת תתתתתת תתת תתתתתAnimation תתתתתתתת תת תתתתתתת תתתתת תתת ההההה ההההה: תתתת תתתתתHalf Toning תתתתתתתת תתתתת תתתתת תתתתתתת תתתת תתתתת תתתתת.Thresholding תתתת תת תתתת תתתתתת תת תתתת תתתתת תתתתת תתתת תתת, תתת תתתת תתתתתת תתתת תתתת. תתתתת תתתתתת תת תתתתת "תתת" תתת תתתתת תת"ת. תתתתת תתתת תתתת תתתת תתתת תתתת תתת.Dithering תתתתת תתתת תתתתתת. תתתתת תתת תתתתת תתתתת תתתתתת תתתתת תתתתת תתתתתת תתתת. תתתתתת: תתתת תתתתת תתתתתת תתתת תתתתתתת תתתת תתתת תתתת. תתתתת תת תתתתתתThresholding תתתתתתת תתתתת תתתת, תתתתתתתתתתת תתתתתת( תתת תתתת תתתת תת תתתתתת תתDithering .) Error diffusion תתתתת תתתתתת. תתתתת תת תתתת תתתתתת תתתתתת תתתתתתת תתתתת תתתתתת תתת תתתתת תתתתתת תתתת תתתתתת.Color Quantization תתתת תתתתת תתתתתתת תתתת תתתתת תתת תתתת תתתתתתת תתתתתתת תתתתתת. תתתתת תת תתתתת תתתתתת תת תתתתת תתתתתת תתת תתתתתת תת תתתתתת תתתתתת. תתתתתת תתתת תתתתת תתתתתת תת תתתתתת. תתתתת:1 . תתתתת תתתתתת תתתתתתת תתתתת תתתתתתתתת תתתתת2 . ( תתתתת תתת תתתתתcolor map תתתתתתת תת) תתתתתתתתתת תתתתתת3 . תתתתת תת תתת תתתתתת תתתתת תתת תתתת תתתתתת.4 . תתתת תתתתת תת תתתתתת תתת תתתתת תתתת תתתתתת תתתת.Naive Color Quantization - תתתתת תMost significant bits - תת תתתתת תB, G, R . תתתתתת( 24 תתת 8 תתת תתתתת2-3-3 MSB תתRGB ) Popularity תתת תתתתתת תתתת( תתתתת תתתתתת תתתתתתתתתת תתתתת תתתתתת.) תתתתתת תתתתתתת תתתת תתתתתתת תתת תתתת תתתתתת תתתתתתתMedian cut - תתתתת תתתת תתתתתת ת2 , תתתת תתת תתתתת תתתתתת תתתתת- תתתתת ת2 תתת תתתת תת תתת תתתתתתn תתתתתת. תתת תתתתת.)תתתתת( תתתת תתתת

Transcript of Graphics Summary

Page 1: Graphics Summary

סיכום–גרפיקה ממוחשבת פירושמושג

Imagingייצוג תמונות דו ממדיותModelingייצוג תמונות תלת ממדיות

Renderingבניית תמונה דו ממדית ותמונה תלת ממדיתAnimationסימולציה של שינויים לאורך זמן

עיבוד תמונה:פירושמושג

Half Toning.מעונינים להציג תמונה באמצעות מספר צבעים מוגבלThresholdingנמפה את החצי העליון של סקלת גווני האפור לצבע לבן, ואת החצי התחתון

לצבע שחור. קיימת אפשרות של הוספת "רעש" ואז ביצוע הנ"ל. הבעיה ברעש הינה שקשה

לחשב אותו מהר.Ditheringהקטנת טווח הצבעים. מיקום שני צבעים בצורה שתיצור אשליה שהצבע השלישי

קיים.לדוגמא:

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

(.Ditheringסף ייחודי לו )באמצעות מטריצת Error diffusionפיזור השגיאה. בשיטה זו טעות החישוב מוקטנת באמצעות העברת השגיאה מכל

פיקסל לשכניו בסדר הסריקה.Color

Quantization הצגת תמונה באמצעות מספר צבעים קטן יותר מהצבעים הקיימים

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

שנבחרו. קיימות מספר שיטות לבחירת תת הקבוצה.שלבים:

דגימת התמונה המקורית לקבלת סטטיסטיקת צבעים.1 ( המבוססת על הסטטיסטיקהcolor mapבניית מפת צבעים ).2

שנמצאהמיפוי כל צבע בתמונה לנציג שלו במפת הצבעים..3ציור מחודש של התמונה תוך שימוש במפת הצבעים בלבד..4

Naive Color Quantization

ביט 8 ביט 24. )לדוגמא B, G, R של רכיבי ה-Most significant bitsשמירת ה-(RGB של MSB 2-3-3 נשמור –

Popularityבחירת הצבעים הפופולריים ביותר בתמונה )מפת הצבעים תהיה מורכבת מהצבעים שבהם משתמשים הכי הרבה בתמונה המקורית(.

Median cut-וכך2 , בשלב הבא חלוקת הקבוצה הכבדה ביותר ל-2חלוקת מרחב הצבעים ל קבוצות. בכל קבוצה נבחר נציג )ממוצע(.nהלאה עד אשר נוצרות

חלוקת מרחב הצבעים למלבנים קטנים יותר ויותרGLA – Generalized

Lloyd Algorithm בכל איטרציה מחושבת חלוקה מתאימה ביותר של וקטורי הקלט )באמצעות

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

Page 2: Graphics Summary

טרנספורמציות דו מימדיותכיצד נייצג אובייקט גאומטרי במישור?

באמצעות קווים ונקודות..(a, b)נקודה מיוצגת באמצעות קואורדינטות קרטזיות

כיצד נבצע טרנספורמציה על אובייקט במישור? דו מימדית.T הינו קו במישור שעליו אנו מעוניינים להפעיל טרנספורמציה (A,B)נניח

T מעבירה את הקו לקו (A`,B)` שבו מתקיים A`=TA, B`=TB.

סוגי טרנספורמציות:הערותטרנספורמציהשם

הזזהTranslation

)x,y( )x+a,y+b(

שינוי קנה מידה)הגדלה/הקטנ

ה(Scale

)x,y( )ax,by(שינוי קנה צידה משפיע על מיקום האובייקט במידה והמוצא שלו )פינה

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

נבצע את סדרת הפעולות הבאה: הזזת האובייקט לראשית הצירים )פינה.1

שמאלית תחתונה(.שינוי קנה מידה.2הזזת האובייקט למיקום המקורי שלו.3

שיקוףReflection

)x,y(->)-x,y()x,y(->)x,-y()x,y(->)-x,-y(

.Yיחסית לציר .Xיחסית לציר

יחסית לשני הצירים.זהו מקרה פרטי של שינוי קנה מידה.

סיבוב;Rotation

)x,y( )xcosθ+ysinθ, -xcosθ+ysinθ(גם טרנספורמציית הסיבוב משפיעה על מוצא האובייקט. לכן במידה ואיננו מעוניינם

בשינוי מיקום האובייקט נפעל בדיוק לפי אותם שלבים שכתובים לעיל )בשורה של

שינוי קנה מידה(.Shear)x,y( )x+ay,y+bx(

הרכבת טרנספורמציות:סוגי הטרנספורמציות בהרכבהשם

Rigid TransformationTranslation + Rotation

שמירת מרחקים

Similarity TransformationTranslation + Rotation + Uniform Scale

שמירת זוויות

Affine TransformationTranslation + Rotation + Scale + Shear

שמירת מקביליותRigid Similarity Affineכמובן שניתן לראות שמתקיימת הכלה בין הקבוצות הנ"ל:

Page 3: Graphics Summary

ייצוג טרנספורמציות באמצעות מטריצות:

אם נייצג כל נקודה/קו באמצעות ווקטורואת הטרנספורמציה באמצעות מטריצה נקבל:

מטריצה מתאימהטרנספורמציהTranslationנראה בהמשך

Scale

Reflection

Rotation

Shear

הרכבת טרנספורמציות = כפל מטריצות:

קיימת חשיבות לסדר הטרנספורמציות!!!

.2X2 לא ניתן לייצג טרנספורמציית הזזה באמצעות מטריצה –בעיה Rn Rn+1 קואורדינטות הומוגניות = מיפוי –פתרון

) )X,Y,W( = )tx,ty,t( x,y)מיפוי:) )x,y( = )X/W,Y/W( X,Y,W)מיפוי הפוך:

אינטרפרטציה גאומטרית: נקודה במישור דו מימדית ממופה לוקטור במישור תלת מימדי. הנקודות.Z=1מתקבלות ע"י הקרנה על מישור טרנספורמציה אפינית תראה כך:טרנספורמציית הזזה תראה כך:

Page 4: Graphics Summary

דוגמאות:(x0,y0)סיבוב סביב נקודה .1

(x0,y0)הזזה לנקודה נקודה .1.1θסיבוב בזווית .1.2הזזה חזרה.1.3

)L=p1+t)p2-p1סיבוב סביב ישר כלשהו .2p1הזזת המוצא ל- .2.1Xסיבוב כך שהישר יתאחד עם ציר .2.2Xשיקוף יחסית לציר .2.3סיבוב חזרה.2.4הזזה חזרה.2.5

מתי משתמשים בטרנספורמציות?מיקום אובייקטיםשינוי צורההעתקותאנימציות

סוגים נוספים של טרנספורמציות:מה משמרת?מה כוללת?טרנספורמציה

Euclidian/RigidTranslation, Identity, Rotationמרחקים, זוויותSimilitudes/SimilarityTranslation, Identity, Rotation,

Isotropic Scaling )ax,ay(זוויות

LinearIdentity, Rotation, Scaling, Reflection, Shear

L)p+q( = L)p( + L)q(L)ap( = aL)p(

AffineTranslation, Identity, Rotation, Scaling, Reflection, Shear

קווים מקבילים

ProjectiveTranslation, Identity, Rotation, Scaling, Reflection, Shear, Perspective

קווים

כיצד טרנספורמציות מיוצגות?

p’ = Mp + t

קואורדינטות הומוגניות:4X4 ובמטריצות 3X3כאשר מדובר בשלושה מימדים, נשתמש בטרנספורמציות

במטריצת הטרנספורמציה( ואנחנו יכולים להתעלם ממנו.0 יהיו שווים m, n, o )ו-w=1רוב הזמן

Page 5: Graphics Summary

טרנספורמציה אפינית:

טרנספורמציות שלושה מימדים:מטריצה מתאימהטרנספורמציה

Translation

Scale

ReflectionRotation

Xסביב ציר

Yסביב ציר

Zסביב ציר

Shear

Page 6: Graphics Summary

:שינוי בסיס אורתונורמלי )שינוי מערכת צירים(

נתון:xyz, uvn מערכות קואורדינטות 2

)p=)x,y,zנקודה

צ"ל:p=)u,v,n(

Page 7: Graphics Summary

Renderingמושגים:

Scan Conversion = Rasterization

איתור הפיקסלים אותם יש לצבוע

Shadingבחירת הצבע לפיקסלים

Scan Conversionתרגום תמונה של צורה גאומטרית פרימיטיבית ע"י בחירת צבעים לפיקסלים

לדוגמא:מילוי משולש

תכונות של אלגוריתם טוב:סימטרי-קווים ישרים-ללא מרווחים בין צורות צמודות-מהיר-

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

הבעיה:

נבדוק אילו פיקסלים נמצאים בתוך המשולש באמצעות קווים–נשתמש ברציפות המרחב -מאוזנים שאותם נעביר מקשת לקשת בסדר הסריקה.

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

Scan Conversionבפוליגונים מכיוון שקיימים סוגים רבים של פוליגונים )ריבוי צלעות, פוליגון עם חורים, פוליגון שחותך את עצמו,

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

המבחן:נעביר מהנקודה קו לאינסוף

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

Hardware Scan Conversion:הופכת כל צורה לאוסף של משולשים.

Page 8: Graphics Summary

Viewing In 3D

מושגים:פירושמושג

Object spaceמערכת צירים פרטית של אובייקטWorld spaceמערכת צירים משותפת לכל האובייקטים

Eye space / Cameraמערכת צירים שמקורה בנקודת הצפיהScreen spaceנמדד יחסית לתכונות החומרה

Center of projection = COP

מוקד הצפיה )מיקום העין(

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

משמרת פרופורציות יחסיות של האובייקט אינה בעלת הופעה אמיתיתהטלה מקבילית נמצא באינסוף.COP)משמשת לשרטוטים הנדסיים(. ה-

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

שקרוב גדול".Vanishing point

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

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

3התמונה יכול להיות מצב של יותר מנקודת מגוז אחת ואפילו יותר מ-נקודות מגוז עיקריות )שלושת הצירים(.

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

וקטור למישור ווקטור נורמלבשביל לקבוע מישור צפייה עלינו לקבועUP –ווקטור מקביל למישור שכיוונו מעלה.

הטלות גאומטריות על מישור:

משמרת פרופורציות יחסיות של האובייקט אך– (Parallel Projectionהטלה מקבילית ).1אינה נותנת תמונה ריאליסטית )משתמשים בעיקר בשרטוט הנדסי(.

נמצא באינסוף.COPה-הקרניים הנן מקבילות

הקרניים מאונכים למישור ההטלה.– (Orthographicהטלה אורתוגרפית ).1.11.1.1.Cavalinear Projection –משמרת אורכי קווים. מאונכת למישור הצפיה. ניתן

לראות את אופיה התלת מימדי של התמונה, אך נוצר עיוות בצורה.

Page 9: Graphics Summary

1.1.2.Cabinet Projection –קווים המאונכים למישור הצפיה מוצגים באורך השווה לחצי מאורכם המקורי. תצוגה יותר ריאליסטית מאשר ההטלה הקוואליניארית.

הקרניים לא בהכרח מאונכים למישור ההטלה. – (Oblique )–הטלה אובליקית .1.2 זוויות ואורכים נשמרים עבור פאות המקבילות לפני מישור הצפיה. אופיו התלת המימדי

של האובייקט נשמר באופן יחסי.

נותנת תמונה ריאליסטית של– (PERSPECTIVE PROJECTIONהטלה פרספקטיבית ).2האובייקט אך אינה משמרת פרופורציות.

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

Point.) הטלות פרספקטיביות מסווגות במספר נקודות המגוז שלהן = מספר צירים עיקריים

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

לבין הזזת מישור ההטלה?COPמהו ההבדל בין הזזת ה- ההבדל הוא בכך שאם נזיז את מישור ההטלה, הקווים היוצאים מהעין ישמרו )זאת אומרת

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

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

את ניצור אנחנו הצפיה, למישור הוקרנו שהאובייקטים )לאחר הצפיה Viewingחלון Window.)קואורדינטות לפי מיושר החלון הצפיה. במישור כלשהו במקום ימוקם החלון

וגבולותיו המישור (xwmin, ywmin, xwmax, ywmax.)

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

בהטלה מקבילית מישור קרוב ומישור רחוק.1a. מלבנים אחד אחרי השני–אורתוגרפית b. מלבנים לאורך הקרניים המקביליות–אובליקית

תיווצר מעין "פירמידה" מהעין לחלון והקרניים ימשיכו הלאה עד–בהטלה פרספקטיבית .2(.frustrumהתמונה. )

Page 10: Graphics Summary

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

Page 11: Graphics Summary

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

oשלח קרן ממיקום העין דרך מישור הצפיהP = P0 + tv

P0מיקום העין = V)הווקטור מהעין לנקודה במישור הצפיה )קרן =

oמצא את המשטח הראשון המתנגש עם הקרן שעוברת דרך הפיקסל(P0+tv-O|2-r2=0| הצבה במשוואת הצורה )לדוגמא במעגל: –נקודת חיתוך עם צורה

.||N=)P-O(/||P-Oדרוש ווקטור נורמל בנקודת החיתוך לצורך חישוב תאורה משולש:

oחשב את צבע הפיקסל על פי הקרנת המשטח

Page 12: Graphics Summary

POLIGON SHADING

Flat Shading כל הפיקסלים השייכים אליו נצבעים באותו צבע(–)חישוב תאורה אחד לפוליגון שיטה מהירה

מתקבלת תוצאה סבירה רק במקרים הבאים:האובייקט הינו גוף הנדסי בעל פאות.1 הינו קבוע לכל פוליגוןN*L –מקור האור מרוחק מהמשטח כך ש .2 הינו קבוע לכל פוליגוןV*R –מרחק העין רחוק מהתצוגה כך ש .3

האלגוריתם אינו טוב למשטחים חלקים.

Gouraud Shadingחשב את הנורמל הממוצע בכל קודקוד. )נורמל ממוצע = ממוצע של כל ווקטורי הנורמל השכנים(.1חשב את עוצמת התאורה בקודקוד באמצעות מודל התאורה.2בצע אינטרפולציה לינארית על עוצמות התאורה של קודקודי הפוליגון..3

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

בתאורה ספקולרית.

Phong Shadingחשב את הנורמל הממוצע בכל קודקוד. )נורמל ממוצע = ממוצע של כל ווקטורי הנורמל השכנים(.1בצע אינטרפולציה ליניארית על ווקטורי הנורמל של הקודקודים.2 לאחר מכן עבור כל פיקסל נחשב את התאורה ע"י הנוסחא ונשתמש בנורמל שקיבלנו לאחר.3

האינטרפולציה.חסרון: איטי.

SHADINGמודל תאורה:

בהנתן תאורה על נקודה, כיצד האור מוחזר?

מה משפיע על אפקטי התאורה?מקור אור:

מיקום-ספקטרום אלקטרומגנטי-צורה-

משטח:מיוקם-נתוני החזרה )כמה אור מוחזר(-מיקום של משטחים אחרים-

עין/מצלמה:מיקום-רגישות-

מודלים של מקור אור: הקרניים מגיעות מאותה נקודה )מקור האור קטן מאוד יחסית לאובייקט(–מקור נקודתי - מגיעות מנקודה באינסוף )שמש למשל(– הקרניים מקבילות –מקור מקבילי - הקרניים מגיעות ממשטח סופי במישור )מנהורת פלוארסנט(.–מוקד מפוזר -

מודלי תאורה:

Page 13: Graphics Summary

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

מוקדי התאורה הם במד"כ נקודתיים.

: PHONG מודל תאורה של AMBIENT - הצבע הבסיסי בהעדר אורDIFFUSE - הצבע הבסיסי

SPECULAR - הברק או כפי שיראה המקום כאשר נופל עליו אור הצבע שלכל אחד מהמרכיבים הנ"ל מחושב עצמאית ולאחר מכן מסכמים אותם )לכל אחד משקל משלו(.

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

.cosθהבהירות בכל נקודה פרופורציונית ל

עוצמת התאורה המוחזרת בכל נקודה:

קיימים שני מקורות אור:(AMBIENTתאורת רקע )

מקור אור נקודתי

המשוואה תעודכן ל:

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

בזווית ההחזרה )זוית פגיעה = זויתRכאשר האובייקט הוא מראה מושלמת האור מוחזר בכיוון אחד החזרה(.

.Rכאשר האוביקט אינו מראה מושלמת הקרניים מוחזרות בקרבת

Page 14: Graphics Summary

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

)תאורת רקע(.עוצמת התאורה הנה קבועה עבור כל המשטחים ומכל כיוון.

לסיכום:משוואת התאורה:

( ולכן עבור כל צבע נחשב את המשוואות בנפרד.RGBחשוב מאוד לזכור כי זוהי נוסחא עבור כל צבע )

Page 15: Graphics Summary

שרטוט קווים:אלגוריתם נאיבי לשרטוט קו ישר

1.m=y1-y0/x1-x0 –חישוב שיפוע 2.B=y1-mx1 –חישוב היסט בצע:1X עד 0X מ-Xעבור .3

3.1.y=mx+B()y(x, roundצבע פיקסל ).3.2

* בכל איטרציה מבוצעים: כפל ממשי, סכום, עיגול

קשירות בין פיקסלים קשירות )רגיש יותר(8 קשירות4

Bresenham Mid-Point אלגוריתם (xp,yp)נתונה נקודה .1)E=)xp+1,yp( NE=)xp+1,yp+1הפיקסל הבא שאותו נצבע הוא אחד מהבאים: .23.M=)xp+1,yp+1/2( – זוהי נקודת האמצע בין E -ל NE4.Q נקודת החיתוך של הקו עם המשבצת =M-Q<0אם .5

Eצבע פיקסל .5.1אחרת.6

NEצבע פיקסל .6.1

)M=)xp+1/2,yp+1/2 קשירות נקודת האמצע תהיה שווה ל-4*כאשר מדובר ב-

Page 16: Graphics Summary

(HIDDEN SURFACES REMOVALהסרת משטחים נסתרים )

VSD = Visible Surface Detection בהנתן קבוצת אובייקטים תלת מימדיים והגדרות הצפיה עלינו להחליט אילו קווים או משטחים של

האובייקטים יראו בתמונה.המשטח יכול להיות מוסתר ע"י אובייקטים אחרים או ע"י האובייקט עצמו.

קיימות שתי גישות עיקריות באלגוריתמים:לקבוע מה נראה בכל פיקסל-לקבוע עבור כל אובייקט אילו מבין חלקיו הנם נראים-

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

Floating Horizon Algorithm)Y=F)X,Zבהנתן פונקציה

Y כאשר המספר שיופיע בכל משבצת הינו ערך ה-Z וערכי Xניתן להציג כמערך דו מימדי של ערכי המתאים.

.Zמשטח = פוליקווים, כאשר כל קו קבוע ב-

האלגוריתם: אחורי )רחוק(Z קדמי )קרוב( ועד ל-Zצייר פוליקווים החל מ-.1צייר בתמונה את הקווים הנראים: מעל או מתחת לאופק..2

X. בכל פעם נבדוק האם ערך ה-X עם תא אחד עבור כל ערך YMIN, YMAXנעשה שימוש בשני מערכים גדול/קטן מערכו באחד המערכים ועדכן אותם בהתאם.

Back Face Detectionבאובייקט בעל נפח לעולם לא נראה את הצדדים האחוריים שלו.

Ax+By+Cz+D=0משוואת מישור מוצד בקואורדינטותN במישה וזהו מישור אחורי, הנורמל יצביע החוצה. )– ,(A,B,C)נורמל למישור -

המישור( צד אחורי, קטן–.)גדול מאפס N*Vניתן לגלות האם המישור הוא קדמי או אחורי באמצעות הסימן של

בקו הצפיה(.– 0 צד קדמי, שווה –מאפס

באובייקט כללי הצד הקדמי יכול להיראות, לא להיראות או להיראות בחלקו.

Page 17: Graphics Summary

נוסחאות