70
יייייי יייי ייי4 VORONOI DIAGRAMS ייייי יייי

אלינור עיני

Embed Size (px)

DESCRIPTION

פרק 4 VORONOI DIAGRAMS הרצאת המשך. אלינור עיני. תזכורת מהרצאה קודמת. בהינתן קבוצת אתרים S במישור, דיאגרמת Voronoi שלה, Vor (S) , היא החלוקה של המישור לאזורים לפי קרבת הנקודות במישור לאתרים בקבוצה. למשל נקודה a שנמצאת הכי קרוב לאתר p מבין כל האתרים של S - PowerPoint PPT Presentation

Citation preview

Page 1: אלינור עיני

עיני אלינור

4פרק VORONOI DIAGRAMS

המשך הרצאת

Page 2: אלינור עיני

... קודמת מהרצאה תזכורת

אתרים קבוצת , Sבהינתן , Voronoiדיאגרמת במישור ,Vor(S)שלה במישור הנקודות קרבת לפי לאזורים המישור של החלוקה היא

. בקבוצה לאתריםנקודה לאתר aלמשל קרוב הכי של pשנמצאת האתרים כל Sמבין

- ב האתר ) Vor(p)תימצא של (.pהאזור

Vor(p)

Page 3: אלינור עיני

מוטיבציה , , מידע חיפוש תמונה עיבוד בתחומי מאוד שימושי

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

... והעיצוב האמנות בתחום אפילו

Page 4: אלינור עיני

ההרצאה נושאי , טריאנגולציות קמור בין מיוחד קשר Delaunayנציג

Voronoiודיאגרמות

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

- ב שאפשר . O(n2)ראינוהוא הריצה זמן שבתוחלת O(n*log(n))נוכיח

אלגוריתםDivide and Conquer דיאגרמת Voronoiלחישוב. עבורו ריצה זמן וניתוח במישור נקודות קבוצת של

. זה אלגוריתם נכיר האינקרמנטלי האלגוריתם את למדנוונראה

שלו הריצה .O(n*log(n))שזמן

לפרבולואיד משיקים מישורים בין מיוחד קשר נציגVoronoiודיאגרמות

Page 5: אלינור עיני

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

אחרת צוין

: כללי מיקום הנחתקיימות לא שלנו הנקודות שבקבוצת מעגל 4נניח על נקודות

אחד 3או ישר על נקודות

Page 6: אלינור עיני

Convex Hull Revisitedבין מיוחד קשר Delaunay Triangulationsנציג

.Convex Hullו- מימדים בשלושה

" י ע התגלה זה לפתחו 1979בשנת Kevin Brownקשר והמשיכו

Herbert Edelsbrunner - השמונים Raimund Seidelו בשנות

המוקדמות.

... כן לפני אבל! ניזכר בואו

Page 7: אלינור עיני

תזכורתנקודות( Convex Hull )קמור קבוצת האזורים Sשל כל חיתוך הוא

את שמכילים . Sהקמורים

נקודות Delaunayטריאנגולציית קבוצת טריאנגולצייה Sשל היא

אף תימצא לא משולש של חוסם מעגל כל של בפנים שעבורה

- מ .Sנקודה

Page 8: אלינור עיני

בסיסיים מושגים

, פרבולה הגאומטרי המקום שהיא גאומטרית צורה היא

של

מנקודה שווה במרחק הנמצאות במישור הנקודות כל

. ) ( ) קבועים) המדריך וישר משוואת המוקדפרבולה:

y= ax2+bx+c

Page 9: אלינור עיני

סביב פרבולואיד פרבולה של מסיבוב הנוצר ממדי התלת הגוף הואצירה

הוא מיד בו נשתמש שאנחנו z= x2+y2הפרבולואיד

הפרבולה מסיבוב ציר z= x2מתקבל .zסביב

בסיסיים מושגים

Page 10: אלינור עיני

קטע ומישור ABבהינתן משופע ישר מנקודה Pשל אנך מורידים Aאם

הוא ) האנך שלנו בציור למישור הקטע קטע (, AMשעל של ABהיטל

הקטע של הפגיעה נקודת את המחבר הקטע פשוט במישור ABזהו

נקודה( ) Bנקודה) במישור האנך של הפגיעה נקודת (.Mעםהאנך

הישר קטעהמשופע

ההיטל

בסיסיים מושגים

Page 11: אלינור עיני

משולש - tבהינתן מישור 3Dב אל אנכים נעביר קודקוד xyאם מכל

שלו

מישור עם אלה אנכים של החיתוך נקודות בין את xyונחבר נקבל

המשולש של . ההיטל המישור על

המישור על המשולש של ההיטל

בסיסיים מושגים

tמשולש

אנכים למישור

היוצאים מקודקודי

המשולש

Page 12: אלינור עיני

בין Delaunay Triangulationהקשרמימד Convex Hullו- בתלת

S במישור נקודות . xyקבוצת

קיימות שלא .4נניח מעגל אותו על נקודות

נקודה ) לכל -x,yניתן .x2+y2של”( terrain heightגובה )“Sמ(

הפרבולואיד על ובפרט מימד בתלת נקודות קבוצת .z= x2+y2קיבלנו

- ב הנקודות של הקמור את .R3נמצא

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

עליון ) מלמעלה– (Upper Convex Hullקמור ממבט הנראות פאות

תחתון ) הפאות– (Lower Convex Hullקמור שאר כל

z= x2+y2

Page 13: אלינור עיני

נקודות קבוצת , S, Del(S)של Delaunayטריאנגולציית, xyבמישור Sבהינתן

הנקודות קבוצת של התחתון הקמור של ההטלה בדיוק היא

(x, y, x2+y2( | ), x y )S }}מישור .xyאל

: המרכזי המשפט

Page 14: אלינור עיני

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

לפרבולואיד משיק מישור (:a, b, a2+b2בנקודה )z=x2+y2משוואת

h(x, y, z)= z-x2-y2נסמן

היא המשיק המישור משוואת אז

(x-a*)hx) , , a b a2+b2( + ) - (*y b hy) , , a b a2+b2( + ) -z a2-b2(*hz) , , a b

a2+b2(=0

(x-a)*(-2a)+ (y-b)*(-2b)+ (z-a2-b2)*1=0

-2ax+2a2-2by+2b2+ z-a2-b2=0

z-2ax-2by+a2+b2=0

z= 2ax+2by-a2-b2נקבל:

במרחק זה מישור של הזזה ( r2לאחר ' בכיוון ) כלשהו חיובי πמישור נקבל zמס

z= 2ax+2by-a2-b2+ r2שמשוואתו:

Page 15: אלינור עיני

המשפט להוכחת הקדמה

החדש .πהמישור באליפסה הפרבולואיד את חותך

אליפסה נבצע של מישור הטלה על :xyזו

המישור z= 2ax+2by-a2-b2+ r2כזכור πמשוואת

המישור במשוואת (:x2+y2את zבמקום πנציב הפרבולואיד ) במשוואת שימוש

x2+y2= 2ax+2by-a2-b2+ r2

x2-2ax+a2+y2-2by+b2= r2

נקבל:

(x-a)2+ (y-b)2= r2

??? לכם מזכיר זה מה

מעגל נכון! !!!rורדיוסו( a, bשמרכזו )משוואת

Page 16: אלינור עיני

המשפט להוכחת הקדמה

נקודות על המישור נסתכל ומעל הפרבולואיד . πשעל

המישור z= 2ax+2by-a2-b2+ r2כזכור πמשוואת

השוויון אי את מקיימות אלה תנאים שמקיימות נקודות לכן

z > 2ax+2by-a2-b2+ r2

ונקבל z= x2+y2נציב

x2+y2 > 2ax+2by-a2-b2+ r2

x2-2ax+b2+y2-2by+b2> r2

(x-a)2+ (y-b)2 > r2

!!! ♥ שימו

נמצאות זה שוויון אי שמקיימות למעגל נקודות מחוץ

האליפסה. rורדיוסו( a,bשמרכזו ) מהטלת שמתקבל מעגל אותו

!!! קודם שהזכרנו

Page 17: אלינור עיני

הפרבולואידz=x2+y2

את πהמישור החותךבאליפסה הפרבולואיד

האליפסה

הטלה לאחר שנוצר xyמישור המעגל

Page 18: אלינור עיני

המשפט הוכחתנקודות קבוצת בהינתן נקודה )xyבמישור Sכזכור לכל גובה( x,yנתנו

x2+y2

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

את התחתון נבחר הקמור של הפאות - אחת ב. זו פאה נראה . tנסמן

. קודקודים שלושה זו שלפאה שהפאה בהמשך המישור את מוכלת tנסמן

- ב .πבו

מישור בכיוון מטה אותו להזיז לפרבולואיד עד xyנוכל .שישיק

- ב הזזנו שבו המרחק את נסמן -)r2אם ב ההשקה נקודת ( a, b, a2+b2ואת

המישור משוואת של πאז המשוואה בדיוק החותך היא שדיברנו המישור

עליה:

z= 2ax+2by-a2-b2+ r2

המישור שבחיתוך האליפסה מישור πהטלת על יוצרת xyוהפרבולואיד

שראינו רדיוס מעגלכפי : rעם שמשוואתו

( x-a)2+ (y-b)2= r2

לציור חזרה

Page 19: אלינור עיני

!!! ♥ שימו

לפאה ?tמדוע קודקודים שלושה רק יש התחתון הקמור מפאות שבחרנו

במישור מוכלת .πהמישור. πהפאה באליפסה הפרבולואיד את חותך

: זו אליפסה על נמצאים הפאה קודקודי

של • התחתון הקמור של בפאה מדובר כי הפרבולואיד על נמצאים הם

הפרבולואיד על נקודות

המישור • על נמצאים במישור πהם מוכלת שהפאה אמרנו כי

. החיתוך אזור שהיא האליפסה על נמצאות לכן

. מעגל מתקבל זו אליפסה מהטלת כתוצאה

קודקוד ) לנקודה( )x, y, x2+y2כל שנתנו לאחר נוצר כזכור הפאה ( x,yשל

Sמ-

שהנקודות . x2+y2גובה נובע האליפסה על נמצאים הפאה שקודקודי מכך

שנוצר Sמ- המעגל על בהכרח נמצאות הפאה לקודקודי שמתאימות

בהטלה.

- ב קיימות שלא שהנחנו לפאה S 4כיוון בהכרח מעגל על 3נקודות

קודקודים.

לציור חזרה

Page 20: אלינור עיני

- ש שלושת tכיוון שאינן הפרבולואיד על הנקודות כל הקמור של תחתונה פאה

המישור מעל נמצאות הפאה , πקודקודי שמתחת ) כזו נקודה הייתה אם אחרת

(. tאז πלמישור הקמור של תחתונה פאה הייתה לא

נקודה ) כל , )x, y, x2+y2לכן כאשר( הפאה של קודקוד -x, yשאינה מ( Sנקודה

לנקודה ) . x,yמוטלת , להוכחה( ההקדמה לפי למעגל מחוץ נמצאת והיא

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

שלמדנו ) במשפט (:Empty Circle Propertyניזכר

S קיימות לא כאשר נקודות . 4קבוצת מעגל אותו על נקודות

טריאנגולציית Tטריאנגולצייה " Delaunayהיא חוסם מעגל כל של בפנים מ אמ

של משולש -Tשל מ נקודה אף תימצא .Sלא

המשולש את החוסם המוטל המעגל תחתונה פאה שלכל כיוון

של מנקודות ריק יהיה לה המלאה, Sהמתאים ההטלה המשפט פי על

טריאנגולציית בדיוק זו המשולשים כלל .Delaunayשבה

לציור חזרה

Page 21: אלינור עיני

!!! ♥ שימו

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

-xyבמישור ה ) ( originנקראת בקבוצה הנקודות למיקום ביחס הפרבולואיד של

S. במישור

הנקודות קבוצת של הזזה או סיבוב התחתון Sלכן הקמור את תשנה אמנם

טריאנגולציית נקבל . Delaunayאבל המשפט לפי אופן באותו

? טריאנגולצייה אותה את נקבל האם

שטריאנגולציית! למדנו .Delaunayכן יחידה

הנקודות קבוצת של הזזה או סיבוב ?Sהאם התחתון הקמור את תשנה

כן!

חשוב דגש

Page 22: אלינור עיני

שראינו 10 הנקודותוטריאנגולציית קודם

Delaunay שלהן

הזזה 10 לאחר הנקודותלימין.

השתנה התחתון הקמוראותה התקבלה אך

- בדיוק טריאנגולצייהטריאנגלוציית כמובן

Delaunay

Page 23: אלינור עיני

? עשינו מה

•- ב קמור קבוצת: 3Dחישבנו של קמור שחישוב - nלמדנו ב לוקח 3Dנקודות

O(n*log(n)). זמן

טריאנגולציית • לקבל מנת על התחתון הקמור של הטלה : Delaunayביצענו

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

. הנקודות במספר

:" " : תרגום נעשה ההטלה במסגרת נימוק

- ב * מתאימה -3Dנקודה מ המקורית לנקודה Sמתרגמת

- מ * הנקודות שתי בין לקשת מתרגמת התחתון הקמור של קשת Sכל

במישור

. למשולש * פאה כל

" " ' תרגום ה כל ולכן הנקודות במס ליניארי קמור שגודל יודעים אנחנו

- ב . O(n)נעשה

" קיבלנו: כ בסה . O(n*log(n))לכן זמן

ריצה זמן ניתוח

Page 24: אלינור עיני

חשובה הערה

דיאגרמת חישוב לגבי כך ?Voronoiמה אם

לוקח זמן.O(n*log(n)) גם

דיאגרמת בין ההדוק מהקשר נובע :Delaunayוטריאנגולציית Voronoiזה

הנקודות, קבוצת של האתרים הם הצמתים הדואליות בגרף וקיימת Sכזכור

קשת

קשת חולקים הם אם צמתים . Voronoiבין

אתר ) בין המחברת קשת כל בו המיושר הדואליות מוחלפת qואתר pגרף

טריאנגולציית( pqבקטע .Delaunayמהווה

Page 25: אלינור עיני

! גבוהים מימדים עבור גם נכון שהצגנו הקשר

- ב נקודות עבור על 3Dלמשל הנקודות קבוצת של הקמור את לחשב אפשר

- ב . 4Dהפרבולואיד שראינו למה דומה באופן הטלה ולבצע

נקבל ( Delaunayחלוקת ) Delaunay Tetrahedralizationכך לארבעונים

- ב הנקודות .3Dשל

? יותר גבוהים מימדים לגבי מה

Page 26: אלינור עיני

נקודות קבוצת נקודה )xyבמישור Sבהינתן לכל -x,yניתן x2+y2גובה Sמ(

- ב נקודות קבוצת הפרבולואיד 3Dונקבל .x2+y2 zעל קודם= שעשינו כפי ממש

- מ אתר בכל לפרבולואיד משיקים מישורים נעביר המישורים Sאם על ונסתכל

- מ הללו (, zהנחתכים אז= ) מלמעלה העליונה )מבט ( Upper Envelopeהמעטפת

.) אותו ) מסתיר לא מישור שאף מוסתר הלא המישורים אזור היא המישורים של

למישור זו מעטפת של הטלה דיאגרמת xyנבצע את קבוצת Voronoiונקבל של

.Sהנקודות

לפרבולואיד משיקים מישורים בין קשרVoronoiודיאגרמת

המעטפת

העליונה

Page 27: אלינור עיני

קבוצת Voronoiדיאגרמת - של

-A, B, Cהנקודות .Dו

Page 28: אלינור עיני

דיאגרמת את קיבלנו ?Voronoiמדוע

- שב . nיש Sנניח הקבוצה אתרי את נסמן -)Sאתרים .i ≤ n≥ 1כאשר( ai, biב

לפרבולואיד משיק ai, bi, aiבאתר )z=x2+y2משוואת2+ bi

2:)

z= 2ai x+2bi y-ai 2-bi

2

(z= maxi (2ai x+2bi y-ai 2-bi

העליונה 2 המעטפת בדיוק זו

ביטוי - לכל - x2-y2נוסיף ה : iאז נשמר המקסימום מתקבל עבורו

maxi(2ai x+2bi y-ai 2-bi

2-x2-y2)

maxi(-[(x- ai )2 + (y- bi)2])

-(- ב הביטוי את -1נכפיל ה( , iאז קודם המקסימום התקבל עבורו

: מינימום עבורו מתקבל כעת

mini( (x- ai )2 + (y- bi)2)

: שורש מוציאים כאשר נשמר המינימום

mini - ה בדיוק הנקודה )iוזה של ביותר הקצר המרחק מתקבל ( x, yעבורו

( ai, biמאתר )

Page 29: אלינור עיני

הערה:

.x0, y0תהא ) כלשהי( נקודה

העליונה ) המעטפת על z= maxi (2ai x0 +2bi y0 -aiנסתכל2-bi

2

יש אותו iאם אז למקסימום הביטוי את שמביא את iאחד מביא

. למינימום

לאתר( )x0, y0לכן ) קרובה -minכאשר( amin, bminהכי ה מתקבל iהוא עבורו

כלומר. ) . x0, y0המינימום זה( אתר של באזור נמצאת

(amin, bmin)

(x0, y0)

Page 30: אלינור עיני

: המשך- הערה

יש אותם 2אם עבור אז העליונה במעטפת המקסימום מתקבל 2שעבורם

( - ולכן ב מינימום קשת( x0, y0מתקבל על נמצאת

Voronoi. חולקים המתאימים האתרים ששני

יש אותם 3אם עבור אז המקסימום מתקבל מינימום 3שעבורם מתקבל

קודקוד( x0, y0ולכן ) ב- על ששלושת Voronoiנמצאת

. חולקים האתרים

(x0, y0)

(x0, y0)

Page 31: אלינור עיני

נקודות קבוצת הנקודות, )xyבמישור Sבהינתן את ,aכאשר( )a, b, a2+b2ניקח

b )של - Sנקודה .) ב ) הנקודות של הקמור את נמצא עכשיו קודם כמו . 3Dממש

טריאנגולציית את תיתן התחתון הקמור שהטלת . Delaunayאמרנו

? למישור שלו הטלה נבצע אם העליון הקמור לגבי ?xyמה נקבל מה

תרגיל

.Furthest Site Delaunay Triangulationנקבל

טריאנגולציית, נקודות Delaunayכזכור קבוצת שבה Sשל טריאנגולצייה היא

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

.Sשל

נתונה נקודות בקבוצת קיימת Sאם אז הקמור על נמצאות הנקודות כל

שנקראת .Furthest Site Delaunay Triangulationטריאנגולצייה

כזו הטריאנגולצייה בחוץבטריאנגולצייה של משולש של חוסם מעגל כל של

של נקודות קיימות .Sלא

Page 32: אלינור עיני

Delaunay Triangulation

Furthest Site Delaunay Triangulation

הנקודות קבוצת , Sכאן לכן בקמור כולה

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

Page 33: אלינור עיני

נקבל ?Furthest Site Delaunay Triangulationמדוע

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

פאה - tעל . ב אותה המכיל המישור את נסמן העליון הקמור של .πכלשהי

נקודה ) כאשר( )x, y, x2+y2כל הפאה של קודקוד -x,yשאינה מ( Sנקודה

למישור מתחת (.πנמצאת עליון ) קמור של בפאה מדובר לא אחרת

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

נקודה. ) כל -x, y, x2+y2במישור מ( לה המתאימה הנקודה תימצא S (x, y)כזו

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

של נקודות קיימות לא . Sלכן המתאים המשולש של החוסם למעגל מחוץ

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

Page 34: אלינור עיני

דיאגרמת של " Delaunayוטריאנגולציית Voronoiהדואליות צל " היא

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

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

. האחר למציאת לאלגוריתם בקלות מומר

הנושא סיכום

Page 35: אלינור עיני

אינקרמנטלי אלגוריתםטריאנגולציית Delaunayלבניית

: חשובים סימונים

DT({p1,…, pn}) -טריאנגולצייתDelaunay נקודות קבוצת .p1,…, pnשל

DTi = DT({p1,…, pi})

: האלגוריתם את עקרון נמצא שלב הבאה" DTiבכל הנקודה הוספת י piע

. DTi-1ל- הקודם בשלב שמצאנו

Page 36: אלינור עיני

תזכורת

: הבא באופן האלגוריתם את מציג הספר

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

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

הנקודה

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

... שונה טיפה בצורה נציג אנחנו

Page 37: אלינור עיני

תזכורת

) בעל)*( ) לא או קמור מצולע שעבור , dלמדנו שלו בטריאנגולצייה קודקודים

יהיו

d-2. משולשים

: בהמשך בו שנשתמש הורוד דגש שלמצולע . )*(dנניח טענה לפי אז קודקודים

. d-2יש החדשה הנקודה את מכיל שלהם החוסם שהמעגל משולשים

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

הרי) ויש החדשה לנקודה המצולע של קודקוד כל שחיברנו מכך dכתוצאה

, קיבלנו למצולע (.dקודקודים משולשים

Page 38: אלינור עיני

קשת נקודות pqעבור קבוצת של הקמור -S( pשל -qו ב נקודות ( Sכמובן

את מכיל שלא בקשת התומך המישור לחצי אינסופי Sנקרא משולש

קשת .pqעם עצמו. הוא זה שלו החוסם המעגל

טריאנגולציית של קשת כל זו הגדרה .Delaunayלפי משולשים לשני משותפת

- לקמור שייכת הכחולה הקשת

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

- סופי למשולש משולשים לשני

. אינסופי ומשולש

- לקמור שייכת אינה הירוקה הקשת

. משולשים לשני שמשותפת ברור

בסיסיים מושגים

Page 39: אלינור עיני

קבוצה טריאנגולציית Sתהא את למצוא נרצה שעבורה הנקודות קבוצת

Delaunay , נקודה עם בקונפליקט הנמצא -pמשולש כמה) Sמ להיות יכולים

הנקודה( את מכיל שלו החוסם שהמעגל אינסופי או סופי משולש הוא . pכאלה

טריאנגולציית של משולש להיות יכול לא כזה ? Sשל Delaunayמשולש מדוע.

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

. מהקבוצה נקודות קיימות לא נקודות

בסיסיים מושגים

Page 40: אלינור עיני

Edge Flip... נזכיר- אבל כבר הכרנו

של qrתהא המשולש DTi-1קשת שוכב שלה אחד בצד T(q, r, t)כאשר

- q, rקודקודיו) מצלעותיו tו הנקודה( qrואחת השני המעגל. piובצד אם

את מכיל המשולש את בנקודות , piשחוסם שעובר מעגל כל -qאז יכיל rו

את את tלפחות טריאנגולציית qrלכן. piאו של קשת להיות יכולה לא

Delaunay .

את - qrנחליף . pit. pitב הטריאנגולצייה של חדשה קשת

של - qrההחלפה .edge flipנקראת pitב

בסיסיים מושגים

Page 41: אלינור עיני

: האלגוריתם שלב תיאור את iבכל הנקודה" DTiנמצא הוספת י piע

בקבוצה DTi-1ל- הנקודות כל להוספת עד הקודם בשלב . Sשמצאנו

- ה השלב :iתיאור

שלב של: 1תת המשולש את הנקודה DTi-1נמצא את -.piשמכיל ב T(q, s, r)נסמנו

- q, sקודקודיו) (. rו

אינקרמנטלי אלגוריתםטריאנגולציית Delaunayלבניית

Page 42: אלינור עיני

שלב את :2תת המחברים - q, sלנקודות piהקטעים של rו חדשות קשתות יהיו

. Delaunayטריאנגולציית

אינקרמנטלי אלגוריתםטריאנגולציית Delaunayלבניית

Page 43: אלינור עיני

שלב לעשות :3תת צריך אם גם. qrלקשת edge flipנבדוק נבדוק כן אם

הקשתות -qtאת עם tכאשר trו שנוצר המשולש של -qהקודקוד .rו השני מהצד

Edge Flip קשת qrשל Edge Flip קשת trשל

אינקרמנטלי אלגוריתםטריאנגולציית Delaunayלבניית

Page 44: אלינור עיני

- ה האיטרציה עבור אחרון :iשלב

- ה תהליך עם משולש edge flipsנמשיך של צלע שהיא קשת קיימת עוד כל

לבצע piש- צריך שעבורה שלו .edge flipקודקוד

Edge Flip קשת qsשל

אינקרמנטלי אלגוריתםטריאנגולציית Delaunayלבניית

Page 45: אלינור עיני

- ה השלב מהלך הנקודה: iכל : DTiלקבלת DTi-1ל- piהוספת

1 2 3

4 5

אינקרמנטלי אלגוריתםטריאנגולציית Delaunayלבניית

Page 46: אלינור עיני

ריצה זמן ניתוח

... חשובה הגדרה כן לפני

נקודה של ' Delaunay, DTiבטריאנגולציית piהדרגה הקשתות, מס היא

- ש הטריאנגולצייה .piשל שלהן קצה מהווה

היא כאן הדרגה

6

Page 47: אלינור עיני

ריצה זמן ניתוחלמה:

של המשולש את DTi-1אם , piהמכיל לחישוב שדרוש הריצה זמן DTi-1מ- DTiידוע

לדרגה - piשל dפרופורציונלי .DTiב

הוכחה:

דרגת - piאם יש dהיא DTiב - dאז ש - . piמשולשים - ב ב שלהן DTiקודקוד

d מסדרת כתוצאה התקבלו להחליף edge flipsהמשולשים d-2שנועדה

עם בקונפליקט שנמצאו . piמשולשים

היו* שבהתחלה לב ונוספו d-2נשים בקונפליקט את 2משולשים piכשחיברנו

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

לדרגה פרופורציונלי הריצה זמן המכיל המשולש .piשל dהוא

d-2= 4

משולשים

בקונפליק

ט

d=6

של piהדרגה

Page 48: אלינור עיני

ריצה זמן ניתוחטענה:

הריצה לחישוב worst caseזמן האינקרמנטלי האלגוריתם של

הוא nשל Delaunayטריאנגולציית .O(n2)נקודות

הוכחה:

וקיימות nקיימים נקודה מוסיפים שלב בכל כי .nשלבים כאלה

שלב מוצאים iבכל :DTiשבו

שלב החדשה : 1תת הנקודה את המכיל המשולש piמציאת

- ב נעשה איזה O(n)זה ולבדוק המשולשים כל על לעבור צריך רק כי זמן

מהם

את - piמכיל ב' ליניארי המשולשים .nומס

- השלבים " שאר י ע בקונפליקט המשולשים . edge flipsתיקון

הלמה הנקודה לפי של לדרגה פרופורציונלי זה שלב של ריצה זמן

pi - היותר DTiב לכל זו - .nודרגה ב. זה שלב גם O(n)לכן

שלב" כל כ .nויש O(n)לוקח iסה הנדרש את קיבלנו ולכן שלבים

Page 49: אלינור עיני

? יותר טוב לעשות אפשר האם

משפט:

טריאנגולציית את למצוא בזמן nשל Delaunayניתן בתוחלת במישור נקודות

O(n*log(n)) " הנקודות. הוספת בסדר ברנדומיזציה שימוש י ע זאת

.) מהקבוצה) נקודה באקראי בוחרים שלב בכל

!!! " . רנדומיזציה י ע שכן מסתבר

. עזר* טענות בשתי נשתמש זה משפט להוכיח כדי

Page 50: אלינור עיני

עזר :1טענת

במישור נקודות קבוצת ' Sלכל של, בגבול קשתות של הממוצע המס

דיאגרמת של -Sשל Voronoiאזור מ ממש .6קטן

הוכחה:

: הוכח הקודמת בהרצאה

במישור נקודות קבוצת ' Sלכל דיאגרמת, של אזור קודקודי של הממוצע המס

Voronoi שלS- מ ממש . 6קטן

' אזור של הקודקודים שמס ' Voronoiכיוון אזור של הקשתות למס Voronoiזהה

. הנדרש את נקבל

Page 51: אלינור עיני

מסקנה:

דיאגרמות של להגיד Delaunayוטריאנגולציות Voronoiמהדואליות אפשר מה

? בטריאנגולצייה קודקוד של הממוצעת הדרגה על

- מ ממש !6קטנה

Page 52: אלינור עיני

עזר :2טענת

, זה סדר ולפי אקראי בסדר הנקודות את בוחרים שאנחנו נניח

פועלים.

- h < iלכל ב - dhנסמן ' ב המשולשים מס תוחלת שיש DTh\DTh-1את

להם

נקודה עם : = piקונפליקט מתקיים, O(log(i))אזהוכחה:

- ב -Cנסמן ב המשולשים קבוצת עם DThאת -Tמשולש. piשבקונפליקט Cמ

- ל מ" DTh\DTh-1שייך . phאמ יש שלו קודקוד משולש 3הוא של Tקודקודים

שווה בסיכוי נבחר קודקוד " h/1וכל כ בסה קיימים -hכי ב , DThקודקודים

לכן

- ש - phהסיכוי ב אקראית של DThשנבחר קודקוד לכן. h/3הוא Tיהיה

- ' ב המשולשים מס יודעים|. C(*|h/3היא ) C\DTh-1תוחלת אנו מהלמה

הממוצעת קודקוד dשהדרגה -piשל מ ממש ' 6קטנה המשולשים מס ולכן

עם בקונפליקט (, d-2שהוא ) piהממוצע גודל כלומר שראינו קטן, Cכפי

- ש . dh< 18/hלכן. 6ממש

O(log(i))מכאן =

) ההרמוני) הטור מתכונות נובע האחרון השוויון

Page 53: אלינור עיני

הגדרות:

- Tיהא - ב ב מקודקודיו DTiמשולש . piשאחד

- Tשל srקשת - DTi-1ב משולשים לשני שייכת

F האב שנקרא(father )שלT - החורג שנקרא SFו .Tשל( stepfather)האב

F -עם בקונפליקט שנמצא .piמשולש

SF -עם בקונפליקט שלא - piמשולש ב גם נמצא .DTiולכן

DTi-1 DTi

Page 54: אלינור עיני

: חשובה נקודה

שתמיד ולחשוב לטעות אפשר הציור שלו Tלפי באבא מוכל

- . ב ביותר הימני המשולש על נסתכל נכון תמיד לא זה של .DTi-1אבל האבא הוא

- - ב ב משולשים .DTiשני

מזהים???

DTi-1 DTi

המשולשים

שהמשולש

מדובר עליו

שלהם אבא

Page 55: אלינור עיני

המשולשים על -T, Fנסתכל של. SFו החוסם המעגלים Tהמעגל באיחוד מוכל

של -Fהחוסמים . SFו

מסקנה )*(:

- ש חדשה נקודה , Tכל בהכרח איתה בקונפליקט SFאו Fבקונפליקט יימצאו

איתה.

Page 56: אלינור עיני

הגדרה:

אותו Delaunayעץ - Boissonatשהגדירו מעגלים, Teillaudו חסר מכוון גרף הוא

לבניית האינקרמנטלי האלגוריתם במהלך שנוצרים המשולשים הם הצמתים שבו

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

שורש DT3ב- של בן הוא .dummyהמשולש

Page 57: אלינור עיני

משפט:

טריאנגולציית את למצוא בזמן nשל Delaunayניתן בתוחלת במישור O(n*log(n))נקודות

ובתוחלת

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

.) נקודה) באקראי בוחרים שלב בכל

... המשפט להוכחת הכלים כל את לנו יש כעת

הוכחה:

.nקיימים הנקודות – מקבוצת באקראי נקודה מוסיפים שלב בכל שלבים

שלב מוצאים iבכל נקודה DTiשבו :piומוסיפים אקראית

בעץ -Delaunayנשתמש ה לשלב עד המשולשים כל את מכיל זה נתחיל. iשבשלב

מהשורש

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

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

גם )*( ) אז בקונפליקט הוא אם ימצא בקונפליקט משולש כל מסקנה לפי

.) החורג/ האב האב

בתוחלת עם O(log(i))יש בקונפליקט עזר , piמשולשים טענת .2לפי

" י ע בקונפליקט המשולשים את פרופורציונלי edge flipsנתקן הריצה שזמן ולמדנו

לדרגה

- piשל - DTiב ש. -piכיוון מ ממש קטנה הממוצעת והדרגה אקראית בצורה 6נבחרת

לוקח . שהתיקון .O(1)נקבל קבוע זמן לוקח העץ עדכון

שלב" כל כ .nויש O(log(n))לוקח iסה הנדרש את קיבלנו ולכן שלבים

Page 58: אלינור עיני

& Divide אלגוריתםConquer

דיאגרמת Voronoiלחישוב : האלגוריתם תיאור

נקודות קבוצת בגודל Sבהינתן הנקודות, nבמישור את נמיין ראשית

- ה שיעור -xלפי " ה שיעור לפי כ . yואח

קבוצות תתי לשתי מיון לאחר הנקודות את - Lנחלק באותו Rו בערך

להיות ) הממוין השמאלי החלק את וניקח בערך באמצע נחצה Lגודל

להיות הממוין הימני (.Rוהחלק

דיאגרמת את מהקבוצות אחת כל עבור נחשב הבא שלה Voronoiבשלב

, את נמצא כלומר רקורסיבי - Vor(R)באופן . Vor(L)ו

- " " פירוט הדיאגרמות ומיזוג המפריד קו ה מציאת הוא האחרון השלב

בהמשך.

Page 59: אלינור עיני

& Divide אלגוריתםConquer

דיאגרמת Voronoiלחישוב סימונים:

נקודות קבוצת לקבוצות Sחילקנו מיון -Rלאחר .Lו

B(l,r) -לקטע האנך הקו :lrזהו באמצעו שעובר

B(l,r)= {x| d(l, x)= d(r, x)} כאשרd. ' מרחק פונק

B(L, R) -קשתות של Vor(S)של Voronoiקבוצת אזורים בין שמפרידות

- ב - Lאתרים ב אתרים של אזורים .Rלבין

Page 60: אלינור עיני

& Divide אלגוריתםConquer

דיאגרמת Voronoiלחישוב

: הלמה הוכחת

של bתהא כלשהי -lויהיו B(L, R)קשת - Lמ -rו שהאזורים Rמ אתרים

לקשת סמוכים - bשלהם של. -xשיעור lכיוון ל מאשר יותר לא r, bקטן

של והאזור אופקית להיות . lיכולה לכל נכון זה משמאל להיות חייב

של .B(L, R)קשת

אתרי* שמשמאלה פוליגונלית בשרשרת מדובר אתרי Lלכן .Rומימינה

. הדיאגרמה* מיחידות ישירות נובעת השרשרת יחידות

- ב מונוטונית שהיא להראות yנותר

למה:

- ב האתרים שכל שיעור Lנניח -xעם ה משיעור ממש האתרים xקטן של

.Rשל

של הקשתות פוליגונלית B(L,R)אז שרשרת - יחידהיוצרות ב , yמונוטונית

- ב של Vor(S)כאשר האתרים של והאזורים משמאל Lהאזורים לשרשרת

של האתרים .Rשל לה מימין

Page 61: אלינור עיני

& Divide אלגוריתםConquer

דיאגרמת Voronoiלחישוב : - המשך הלמה הוכחת

- ב* מונוטונית -yהיא ה ) שיעור אנכית שהיא את yכיוון נבחן אם גדל

:) למעלה מלמטה השרשרת

- ' ה שיעור אז כי ייתכן לא א -xמקרה מ נקודה -Rשל ה משיעור של xקטן

- מ -Lנקודה ' . ה, שיעור אז כי ייתכן לא ב מקרה -xבסתירה מ נקודה Lשל

- ה משיעור -xגדול מ נקודה .Rשל בסתירה,

מקרה א'

מקרה ב'

Page 62: אלינור עיני

& Divide אלגוריתםConquer

דיאגרמת Voronoiלחישוב

Page 63: אלינור עיני

& Divide אלגוריתםConquer

דיאגרמת Voronoiלחישוב - מציאת האלגוריתם של האחרון השלב :B(L, R)תיאור ומיזוג

מציאת :B(L, S)עקרון

של ריק לא חיתוך אתר ) Vor(l)לכל של -lאזור אתר ) Vor(r)עם( Lמ של אזור

r- של(, Rמ חסומה לא חתיכה מכיל החיתוך להיות B(l, r)אם חייבת היא אז

של מהגדרת. B(L, R)קשת ישירות נובע של ) Vor(S)זה החיתוכים איחוד

אזורים

והגדרת )*( ( שונים אתרים . B(L, R)שלתזכורת )*(:

Vor(S)=

Page 64: אלינור עיני

& Divide אלגוריתםConquer

דיאגרמת Voronoiלחישוב מציאת תהליך " : B(L, R)תיאור - י ע אינסוף במינוס התחלתית קשת נמצא קודם

של קמור של Lחישוב עושים ) Rוקמור איך ראינו לקמורים משותף משיק ומציאת

. קשת(, שמצאנו נניח באמצעו שעובר למשיק אנך תהייה והקשת שנכנסת bזאת

של lכש-Vor(l)לאזור -Vor(r)מאזור Lאתר של rכש החיתוך. Rאתר נקודת את נסמן

-Vor(l)עם bשל . vב

- ב - vLנסמן -vRו ש הנקודות של bאת האזורים את -lעוזבת . rו את נמצא vLבהתאמה

של" הגבול סריקת י -Vor(l)ע מ - vהחל . ש כיוון השעון כיוון - vRנגד ל יותר vקרוב

- ל קשת vLמאשר של הקצה נקודת תהייה . bזו

Page 65: אלינור עיני

& Divide אלגוריתםConquer

דיאגרמת Voronoiלחישוב מציאת תהליך : B(L, R)תיאור קשת vRמ- המשך- עם בין b2נמשיך לאתר lשמפרידה

.r2אחר

נקודות למצוא צריך דומה באופן - vL,2עכשיו שבהן – vR,2ו את b2הנקודות עוזבת

של . r2ושל lהאזורים את למצוא כדי של vL,2בהתאמה הגבול את החל Vor(l)נסרוק

. vLמ- , , חיתוך יותר יימצא שלא עד הלאה וכן השעון כיוון נגד

- מ* נקודה של לאזור נכנסת שהקשת במקרה נכנסת. Lהראנו אם דומה באופן זה

- מ נקודה של . rלאזור החיתוך מנקודת השעון כיוון עם הסריקה שאז רק

Page 66: אלינור עיני

& Divide אלגוריתםConquer

דיאגרמת Voronoiלחישוב : המיזוג שלב

הלמה - B(L, R)לפי של Vor(S)ב אזורים שמשמאלה פוליגונלית שרשרת היא

- מ - Lאתרים מ אתרים של אזורים . Rומימינה

את שמצאנו ברגע - Vor(L), Vor(R)לכן " B(L, R)ו את " להדביק פשוט נוכל

B(L, R) ,של החלק של Vor(L)את והחלק אליה שמימין Vor(R)שמשמאל

לקבלת .Vor(S)אליה

Page 67: אלינור עיני

& Divide אלגוריתםConquer

דיאגרמת Voronoiלחישוב

האלגוריתם פעולת של הדגמה

Page 68: אלינור עיני

ריצה זמן ניתוח:משפט

ומשול ) ההפרד דיאגרמת( Divide & Conquerאלגוריתם את Voronoiמוצא

של קבוצה בזמן nשל במישור .O(n*log(n))של worst-caseנקודות

:הוכחה

- . ב נעשה מיון הנקודות את ממיינים הראשון .O(n*log(n))בשלב

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

. מציאת אחד כל " B(L, R)של וראינו האזורים של סריקה י ע נעשית

של בשפה שעוברים

לוקח וזה אחת פעם תא .O(n)כל

.) ( " ההדבקה " בהדבקה מיותרות קשתות משליכים הדבקה מבצעים במיזוג

- ב היא גם .O(n)מתבצעת

- ב הריצה זמן את נסמן : T(n)אם T(n)= 2*T(└(n/2)┘) + O(n)נקבל

.T(n)= O(n*log(n))לכן כנדרש,

Page 69: אלינור עיני

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

- " ב נקודות של קמור מציאת י ע במישור נקודות קבוצת .3Dשל

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

- O(n2)מ- .O(n*log(n))ל

אלגוריתם דיאגרמת Divide & Conquerהכרנו Voronoiלמציאתבזמן .O(n*log(n))שרץ

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

. רבה בקלות האחר למציאת לאלגוריתם

Page 70: אלינור עיני

The End!