המרת אובייקטים לסריקה Scan Conversion
description
Transcript of המרת אובייקטים לסריקה Scan Conversion
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
1
המרת אובייקטים לסריקהScan Conversion
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
2
המרת אובייקטים דו ממדיים
קטעים•מעגלים•פוליגונים•מילוי פוליגונים•
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
3
מדוע די לעסוק רק באובייקטים פשוטים?
קטעים הם האלמנטים הבסיסיים
ביותר של כל מודל
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
4
ייצוג הפיקסלים במישור
x
y
חוצץ התמונה ייצוג של הפיקסלים במישור
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
5
ייצוג מתמטי של ישר דו-ממדי
(:implicitייצוג סתום )•
(:explicitייצוג מפורש )•פרמטרי:–
בעזרת פונקציה:–
0 CByAx
tptptp 10 )1()(
bmxy
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
6
ציור קטע – רעיון בסיסי
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
7
ציור קטע – אלגוריתם בסיסי
y = mx+b;WritePixel (x, Round(y), value);
double b = y1 - m x1;
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
8
ציור קטע – אלגוריתם בסיסי
1m 1m
בעיות?פתרונות?
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
9
ציור קטע – אלגוריתם נקודת אמצע
אלגוריתם המבוסס אך ורק על חישובים בשלמים
E
NE
M
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
10
ציור קטע – אלגוריתם נקודת אמצע
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
11
ייצוג מתמטי של מעגל
:Rייצוג של מעגל עם מרכז בראשית ורדיוס
(:implicitייצוג סתום )•
(:explicitייצוג מפורש )•פרמטרי:–
בעזרת פונקציה:–
0222 Ryx
),()(
))sin(),cos(())(),(()(
22
2
12
11
2
1
tt
tttC
tRtRtytxtC
22 xRy
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
12
ציור מעגל – אלגוריתם בסיסי
for x = -R to Ry = sqrt) R^2-x^2(writePixel) x, round)y( (writePixel) x, - round)y( (
end
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
13
ציור מעגל – הפשטה
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
14
ציור מעגל – אלגוריתם נקודת האמצע
SE
E
M
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
15
ציור מעגל – אלגוריתם נקודת אמצע
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
16
ציור מעגל – אלגוריתם נקודת אמצע
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
17
מילוי פוליגונים
שתי גישות עיקריות: מילוי הצפה – מבוסס על התמונה• מילוי סריקה – מבוסס על הגיאומטריה של האובייקט •
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
18
מילוי שטחים – אלגוריתם הצפה
חסרונות?יתרונות?
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
19
מילוי שטחים – אלגוריתם הצפה
שכניםלארבעהמילוי הצפה ביחס Wikipedia
שכניםלשמונהמילוי הצפה ביחס Wikipedia
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
20
אלגוריתם הצפה – בדיקת נקודה פנימית
Ray casting algorithm
Winding number
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
21
מילוי שטחים – אלגוריתם סריקה בסיסי
end
segments galternatincolor with fill
orderx increasingan in Isort
i yline with thefrom P edges ofon intersecti of points I
Y_MAX to0ifor
conversion linescan usingedges polygon Draw the
,..., erticesgon with vgiven poly a is P 10
nvv
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
22
אלגוריתם סריקה בסיסי - סינגולריות
גרפיקה ממוחשבת: המרת אובייקטים לסריקה
23
מילוי שטחים – אלגוריתם סריקה יעיל
end
segments galternatincolor with fill
orderx increasingan in ISort
i yline with thefrom A edges ofon intersecti of points I
) maxY(Eif
each Efor
E-EE
order) maxYincreasingan (in Aintoinsert E
i) minY(Eif
each for
Y_MAX to0ifor
order minYincreasingin Sort E
},...,{ edgesgon with given poly a is P
j
j
j
j
j
10
j
j
n
EAA
i
A
EE
A
EEE