620 likes | 919 Views
דיאגרמות וורונוי Voronoi Diagrams. ערן אבנור 26.12.012. הבנה/ריכוז. אני פה!. איטי מידי נרדמים. מהר מידי לא מבינים. קצב דיבור. מוטיבציה. עד עכשיו התעסקנו בקמור או בשילוש של קבוצת נקודות כלשהו במרחב או במישור.
E N D
דיאגרמותוורונויVoronoi Diagrams ערן אבנור26.12.012
הבנה/ריכוז אני פה! איטי מידי נרדמים מהר מידי לא מבינים קצב דיבור
מוטיבציה • עד עכשיו התעסקנו בקמור או בשילוש של קבוצת נקודות כלשהו במרחב או במישור. • עכשיו נרצה לברר בהינתן קבוצת נקודות במישור S, ובהינתן נקודה כלשהי שלא ב-S, איזה נקודה ב-S הכי קרובה אליה. • נניח שאוסף הנקודות S שלנו מייצג את רשת דואר ישראל. כל סניף מיוצג על ידי נקודה במישור. נרצה לשייך כל אזור בארץ לסניף דואר, סביר להניח על פי קירבה לסניף. הערה: זאת הרצאת מבוא. לא נדבר פה על מבני-נתונים או לשאלה היותר מתבקשת, איך מוצאים לאיזה איזור שייכת נקודה כלשהי.
גיאומטרית וורונוי - הגדרות • במהלך הרצאה, כאשר אדבר על קבוצת נקודות S, הכוונה היא לקבוצה סופית של נקודות במישור. • לאיבר ב-S (נקודה) נקרא "אתר" (Site) • אזור וורונוי(Voronoi Region) של אתר p - יסומן כ-Vor(p) - הואכלומר קבוצת הנקודות במישור שהאתר p הוא הכי קרוב אליהן (משאר האתרים ב-S). • דיאגרמתוורונויהיא חלוקה סופית של המישור לאזורי וורונוי. עבור קבוצה S, נסמן ב-Vor(S) את קבוצת הנק' שנמצאות ביותר מאזור וורונוי אחד (נמצאות על גבולות האזורים). אוסף הנקודות הזה מגדיר לנו קשתות וקודקודים.
גיאומטרית וורונוי – הגדרות (המשך) • אבחנה: דיאגרמתוורונוי היא חלוקה סופית של המישור, לכן חייבים להיות גם אזורי וורונוי שהם לא חסומים. • קשתות וורונויהן הגבולות בין אזורי וורנוי. • קודקודי וורונויהם נקודות החיבור של קשתות וורונוי. הדגמה VoroGlide
גיאומטרית וורונוי – אזורי וורונוי • טענה: כל אזורי וורונוי הם קמורים. • הוכחה:נוכיח 2 משפטי עזר. טענה (1): חיתוך (לא בהכרח סופי) של אזורים קמורים הוא קמור.הוכחה: אזור הוא קמור אמ"מ כל 2 נק' באזור רואות זו את זו (הישר המחבר ביניהן נמצא כולו באזור).נסמן ב-A את החיתוך, אז:עבור 2 נק' ב-A מתקיים: לכן הקטע ab נמצא כולו בכל Si)כי Si קמור) ולכן גם ב-A.
גיאומטרית וורונוי – אזורי וורונוי • טענה: כל אזורי וורונוי הם קמורים. • הוכחה - המשך:עבור שני אתרים p, q נסמן ב-H(p,q) את חצי המישור הקרוב ל-p שנפרש ע"י אנך אמצעי בין p ל-q:
גיאומטרית וורונוי – אזורי וורונוי • טענה: כל אזורי וורונוי הם קמורים. • הוכחה - המשך:טענה (2) אזור וורונוי של אתר p הוא חיתוך של כל חצאי המישורים בין p לבין שאר האתרים.הוכחה: נסתכל על חצי המישור של אתר p מול שאר האתרים:
גיאומטרית וורונוי – אזורי וורונוי • טענה: כל אזורי וורונוי הם קמורים. • הוכחה - המשך: • לפי משפט עזר (2( אזור וורונוי הוא חיתוך סופי של חצאי מישורים. נשים לב שחצי מישור הוא איזור קמור, ולכן לפי משפט עזר (1), חיתוך של אזורים קמורים הוא קמור, ולכן אזור וורונוי הוא קמור.
גיאומטרית וורונוי – קודקודי וורונוי • תכונה של קודקודים:בהינתן 3 נקודות במישור, לא על קו ישר, מתקיים ששלושת האנכים האמצעיים יפגשו בנקודה יחידה ונקודה זאת היא מרכז המעגל החוסם את המשולש הנוצר ע"י 3 הנקודות (משפט של אוקלידס) • שאלה: איפה נמצאת נקודת המפגש ביחס למשולש?
גיאומטרית וורונוי – קודקודי וורונוי • כאשר 4 אתרים נמצאים על אותו מעגל נקבל מקרה מנווןלכן כעת נגדיר "נקודות במיקום כללי" כקבוצת נקודות שכל 4 נקודות בה לא נמצאות על מעגל משותף(כבר ראינו בעבר).
גיאומטרית וורונוי – קודקודי וורונוי • לצומת וורונוי של קבוצת נקודות במיקום כללי יש בדיוק דרגה 3. (נבין למה מיד אחרי המשפט הבא שתיכף נוכיח) • כל צומת וורונוי הוא נקודת מפגש של אנכים אמצעים, אבל להפך לא בהכרח.
גיאומטרית וורונוי – קודקודי וורונוי • משפט: תהא S קבוצת נקודות ו-Vor(S)דיאגרמתוורונוי שלה. נקודה v היא קודקוד וורונוי של Vor(S) אמ"מ קיים מעגל שמרכזו ב-v שעל היקפו לפחות 3 אתרים והפנים שלו ריק (מאתרים). • דוגמא:
גיאומטרית וורונוי – קודקודי וורונוי • משפט: תהא S קבוצת נקודות ו-Vor(S)דיאגרמתוורונוי שלה. נקודה v היא קודקוד וורונוי של Vor(S) אמ"מ קיים מעגל שמרכזו ב-v שעל היקפו לפחות 3 אתרים והפנים שלו ריק (מאתרים). • הוכחה: => אם v הוא קודקוד וורונוי אז הוא חייב להיות סמוך לפחות-3 אזורי וורונוי: Vor(p), Vor(q), Vor(r). לכן v נמצא במרחק שווה מ-p,q ו-r (למה?). לכן קיים מעגל ש-v הוא המרכז, וp,q,r- על היקפו. אם קיים אתר אחר בתוך המעגל אז הוא קרוב יותר ל-v בסתירה לכך שהאזורים Vor(p), Vor(q), Vor(r) נפגשים ב-v.
גיאומטרית וורונוי – קודקודי וורונוי • משפט: תהא S קבוצת נקודות ו-Vor(S)דיאגרמתוורונוי שלה. נקודה v היא קודקוד וורונוי של Vor(S) אמ"מ קיים מעגל שמרכזו ב-v שעל היקפו לפחות 3 אתרים והפנים שלו ריק (מאתרים). • <= נניח שקיים מעגל שמרכזו ב-v ו-3 אתרים p,q,r על היקפו. בגלל שפנים המעגל ריק, אז v נמצא בקצה האזורים: Vor(p), Vor(q), Vor(r) (במרחק שווה) ולכן הוא נקודת מפגש של הקצוות שלהם ולכן הוא אכן קודקוד וורונוי.
גיאומטרית וורונוי – קודקודי וורונוי • תרגיל: עבור n≥3, האם אפשר למצוא קבוצת נקודות S בעלת n אתרים שמקיימת:א) אין אף קודקוד וורונוי? ב) יש בדיוק קודקוד וורונוי אחד? • פתרון:
גיאומטרית וורונוי – קשתות וורונוי • משפט: תהא S קבוצת נקודות ו-Vor(S)דיאגרמתוורונוי שלה. תהא e תת קבוצה קשירה של האנך האמצעי בין האתרים p ו-q. e היא קשת וורונוי אמ"מ לכל נקודה x ב-e קיים מעגל שמרכזו ב-x ועל היקפו רק האתרים p ו-q והפנים שלו ריק. בנוסף e מקסימלית עם תכונה זו. • דוגמא:
גיאומטרית וורונוי – קשתות וורונוי • משפט: תהא S קבוצת נקודות ו-Vor(S)דיאגרמתוורונוי שלה. תהא e תת קבוצה קשירה של האנך האמצעי בין האתרים p ו-q. e היא קשת וורונוי אמ"מ לכל נקודה x ב-e קיים מעגל שמרכזו ב-x ועל היקפו רק האתרים p ו-q והפנים שלו ריק. בנוסף e מקסימלית עם תכונה זו. • הוכחה: => נניח ש-x נקודה על קשת וורונויe בין הצמתים p ו-q. לכן p ו-q במרחק שווה מ-x. אם המעגל שמרכזו ב-x ונוגע ב-p ו-q מכיל עוד אתר r (בפנים) אז x תהיה שייכת רק ל-Vor(r). אם על היקף המעגל יש עוד אתר r אז נקבל סתירה לכך ש-x על קשת וורונוי ולכן יכולה להיות שייכת רק ל-2 האזורים הסמוכים לקשת.
גיאומטרית וורונוי – קשתות וורונוי • משפט: תהא S קבוצת נקודות ו-Vor(S)דיאגרמתוורונוי שלה. תהא e תת קבוצה קשירה של האנך האמצעי בין האתרים p ו-q. e היא קשת וורונוי אמ"מ לכל נקודה x ב-e קיים מעגל שמרכזו ב-x ועל היקפו רק האתרים p ו-q והפנים שלו ריק. בנוסף e מקסימלית עם תכונה זו. • <= נניח שקיים מעגל ריק שהיקפו נוגע רק ב-p ו-q ומרכזו בנקודה x כזו. מתקיים: וכן לכל אתר r אחר: (אחרת המעגל לא ריק). לכן x חייבת להיות או על קשת או צומת וורונוי. לפי המשפט הקודם, x לא יכולה להיות צומת וורונוי (צריך 3 אתרים על ההיקף). לכן x על קשת וורונוי.
גיאומטרית וורונוי – קשתות וורונוי • איפיון של הקשתות: קשת וורונוי יכולה להיות אחת מ-3: • קטע סופי (עם 2 קצוות) • קרן (קצה אחד, ראינו בציור) • ישר אינסופי • ננסה לאפיין מתי קשת תהיה ישר אינסופי.
גיאומטרית וורונוי – קשתות וורונוי • משפט: ל-Vor(S) יש קשתות שהן ישרים אינסופיים אמ"מ כל האתרים ב-S נמצאים על אותו קו ישר. • הוכחה: <= אם כל האתרים על אותו ישר, קל לראות שהקשתות הן קווים מקבילים ולכן לא יפגשו לעולם (ראינו). • => נניח כעת שלא כל הנקודות על אותו הישר. נניח שב-Vor(S) קשת אינסופית L שמפרידה בין האזורים Vor(p) ו-Vor(q). יהי r אתר ב-S שלא נמצא על אותו ישר יחד עם p ו-q. בה"כ נניח גם ש-r ב-H(p,q) (קרוב יותר ל-p).
גיאומטרית וורונוי – קשתות וורונוי • משפט: ל-Vor(S) יש קשתות שהן ישרים אינסופיים אמ"מ כל האתרים ב-S נמצאים על אותו קו ישר. • המשך הוכחה: => נסתכל עלהאנך האמצעי ל-pr. הוא חייבלחתוך את L (כי הם לאמקבילים). בנוסף הקרן לא שייכתל-Vor(S) כי הקרן קרובה יותרל-r ולכן כולה ב-Vor(r).ולכן L לא כולו ב-Vor(S) (ולא אינסופי משני הכיוונים).
גיאומטרית וורונוי – קשתות וורונוי • מסקנה: Vor(S) היא לא קשירה אמ"מ כל האתרים ב-S הם על אותו ישר. • רעיון הוכחה: => אם Vor(S) לא קשירה, אז חייב להיות אזור וורונויVor(p) (אינסופי) שמפריד את המישור לשני חלקים זרים. בגלל ש-Vor(p) הוא קמור ומחלק את המישור לשני חלקים זרים אז הגבולות שלו חייבים להיות 2 קווים מקבילים. לפי המשפט הקודם, כל האתרים ב-S חייבים להיות על אותו ישר. • <= בדיוק מה שהוכחנו במשפט הקודם – קשתות וורונוי מקבילות אחת לשניה, ולכן ה-Vor(S) לא קשירה.
גיאומטרית וורונוי - סיבוכיות • משפט: תהא S קבוצת נקודות בעלת n ≥ 3 אתרים. ל-Vor(S) יש לכל היותר 2n-5 קודקודים ולכל היותר 3n-6 קשתות. (הסיבוכיות הקומבינטורית של Vor(S) היא לינארית במספר האתרים). • הוכחה: ראשית ניקח את כל הקשתות שהן קרנים ו"נכופף" אותן לנק' חדשה שנמצאת באחד האזורים הלא חסומים (למה חייב להיות אחד כזה?).
גיאומטרית וורונוי - סיבוכיות • משפט: תהא S קבוצת נקודות בעלת n ≥ 3 אתרים. ל-Vor(S) יש לכל היותר 2n-5 קודקודים ולכל היותר 3n-6 קשתות. (הסיבוכיות הקומבינטורית של Vor(S) היא לינארית במספר האתרים). • המשך הוכחה: נשים לב שקיבלנו גרף מישורי קשירG שבו יש התאמה בין פאה לאתר - האזור וורונוי שלו. נסמן את מספר הפאות ב-G ב-n (מספר האתרים). מתקיים: ל-G ו-Vor(S) אותו מספרקשתות – e. ל-Vor(S)יש v קודקודים(האתרים לא נחשבים)ולכן ל-G יש v+1קודקודים.
גיאומטרית וורונוי - סיבוכיות • משפט: תהא S קבוצת נקודות בעלת n ≥ 3 אתרים. ל-Vor(S) יש לכל היותר 2n-5 קודקודים ולכל היותר 3n-6 קשתות. (הסיבוכיות הקומבינטורית של Vor(S) היא לינארית במספר האתרים). • המשך הוכחה: G גרף מישורי קשיר, לכן מקיים את נוסחת אוילר:V-E+F=2. נציב: F=n, E=e, V=v+1 ולכן: (v+1)-e+n=2.לכל קודקוד דרגה לפחות 3 לכן: 3(v+1)≤2e(למה?)נציב באי-שוויון את נוסחת אוילר (v+1=2+e-n) ונקבל: 3(v+1)≤2e 3(2+e-n) ≤ 2e 6+3e-3n ≤ 2e e ≤ 3n-6
גיאומטרית וורונוי - סיבוכיות • משפט: תהא S קבוצת נקודות בעלת n ≥ 3 אתרים. ל-Vor(S) יש לכל היותר 2n-5 קודקודים ולכל היותר 3n-6 קשתות. (המורכבות הקומבינטורית של Vor(S) היא לינארית במספר האתרים). • המשך הוכחה: באותו אופן שוב נציב באי-שוויון ( 3(v+1)≤2e ) את נוסחת אוילר (e=v+1-2+n) ונקבל: 3(v+1)≤2(v+1-2+n) 3v+3 ≤ 2v+2n-2 v ≤ 2n-5
גיאומטרית וורונוי - סיבוכיות • תרגיל: מתי מתקבל שוויון? (החסמים הדוקים) • בקבוצת נקודות S במצב כללי שיש בדיוק 3 קרנים, אז דרגת כל צומת בגרף G היא 3 ולכן: 3(v+1)=2e.
גיאומטרית וורונוי - סיבוכיות • תרגיל: הוכיחו שלכל קבוצת נקודות S במיקום כללי, המספר הממוצע של קודקודי וורונוי לאזור וורונוי קטן מ-6. • הוכחה: תהא S קבוצת נקודת במיקום כללי בגודל n. עבור n≤3 יש לכל היותר קודקוד אחד. אחרת:לפי המשפט הקודם ל-Vor(S) יש לכל היותר 2n-5 קודקודים. אם נספור את כל הקודקודים שרואים כל האזורים נקבל לכל היותר 3(2n-5) – כי כל קודקוד שייך בדיוק ל-3 אזורים. לכן הממוצע לכל אזור וורונוי הוא 6-(15/n) קודקודים (כי יש n אזורים). עבור n גדול מאוד החסם שואף ל-6 (מלמטה).
גיאומטרית וורונוי - סיבוכיות • טענה: עבור Vor(S)ונק' p, Vor(p) הוא לא חסום אמ"מ p נמצאת על הקמור של S. • הוכחה: <= תהי p נקודה בקמור. אז קיים קו דרך p שמשיק לקמור של S ומחלק את המישור ל-2 חלקים שבאחד כל S. נעביר אנך מ-p לקו המשיק הזה.נוכיח שהוא מוכל ב-Vor(p).תהי a נקודה על הקרן הזאת.תהי q נקודה כלשהי בקמור.נסתכל על הקו aq, הוא חייבלחצות את המשיק בנקודה כלשהיr. מתקיים ar>ap (יתר במשולשישר זווית). בפרט aq>ar>ap. ולכן a∈Vor(p).
גיאומטרית וורונוי - סיבוכיות • טענה: עבור Vor(S)ונק' p, Vor(p) הוא לא חסום אמ"מ p נמצאת על הקמור של S. • הוכחה: => יהי Vor(p) אזור וורונוי לא חסום. אז קיימת קרן שיוצאת מ-p שמוכלת בו. נעביר אנך לקרן דרך p. נראה שהוא מחלק את המישור לשני חלקישבאחד מהם S. תהי a נקודה עלהקרן. בגלל שהיא באזורVor(p) היא קרובה יותר ל-p מאשר לכלאתר אחר q. נניח בשלילה שקייםאתר q מ"ימין" למשיק. אזיקיימת a כזו על הקרן שלא שייכתל-Vor(p) (לפי פיתגורס)בסתירה לכך שיש קרן אינסופית ב-Vor(p).
אלגוריתמים לדיאגרמתוורונוי • האלגוריתם הטריוויאלי: נמצא כל אזור ע"י חיתוך של n-1 חצאי מישורים. זמן ריצה: O(n2logn). • שיפורים: • ב-75 Shamos and Hoey המציאו אלג' רקורסיבי (divide-and-conquer) שזמן ריצתו O(nlogn). האלג' קשה למימוש ודורש תשומת לב זהירה למבני הנתונים. • ב-85 Fortune פיתח אלג' נוסף באותו זמן ריצה, שמתבסס על שיטת סריקת המישור (plane sweep). הרעיון: • סריקת המישור משמאל לימין ע"י קו אנכי (מייצג מעין אתר נע). • בניה של הדיאגרמה תוך כדי התקדמות הקו (בעת מפגש עם אתרים). • בכל רגע נתון משמאל לקו (לפני ה"חזית הפרבולית") קיימת דיאגרמתוורונוי (לא מלאה) – מיד דוגמא.
אלגוריתמים לדיאגרמתוורונוי • הרצה של אלגוריתם ה-sweep-line • הקו האדום מתנהג כאתר, כלומר בכל רגע נתון משמאל לקו קיים אזור וורונוי (הנק' על שפתו במרחק שווה מהקו ומאיזשהו אתר שמאלי). http://en.wikipedia.org/wiki/Sweep_line_algorithm
אלגוריתמים לדיאגרמתוורונוי • ב-77 Green and Sibson פיתחו אלגוריתם תוספתי (incremental) פשוט ואלגנטי שעדין מאוד פופלרי למרות זמן ריצה לא מדהים של O(n2). • תיאור האלגוריתם: • נניח שכבר יש בידינו דיאגרמתוורונוי עם k אתרים. כעת נוסיף אתר חדש p ונתקן את הדיאגרמה בהתאם.
אלגוריתמים לדיאגרמתוורונוי • הקלות: • הנק' החדשה נמצאת ממש בתוך אזור וורונוי קיים ולא על קצה שלו. • אזורי וורוני שמשתתפים בצעד האלג' הם חסומים. • עבור נקודה p, נמצא את האזור אליו היא שייכת (חייב להיות אחד כזה). נגיד Vor(p1). • נסתכל על האנך האמצעי לקטע p1p. • בגלל ש-Vor(p1) קמור וחסום הוא חותךאת השפה שלו בדיוק ב-2 נקודות. • נסמן את נק' החיתוך x1,x2 כך שהמשולשpx1x2 הוא נגד כיוון השעון. • הקטע x1x2 חותך את Vor(p1) לשניחלקים שאחד מהם שייך ל-Vor(p).
אלגוריתמים לדיאגרמתוורונוי • הנקודה x2 נמצאת על קשת וורונוי, כלומר בין שני אזורים Vor(p1) ו-Vor(p2). • נסתכל על האנך האמצעי לקטע p2p. • האנך חותך את Vor(p2) בדיוק ב-x2 ובעוד נקודה x3. • באותו אופן הקטע x2x3 חותך אתVor(p2) לשני חלקים שאחד מהם שייךל-Vor(p). • נמשיך בתהליך עד שנגיע בחזרה ל-x1 • שנסיים נזרוק הקודקודים הישנים וחלקי הקשתות שהוסרו.
אלגוריתמים לדיאגרמתוורונוי • טיפול ב"הקלות" • אם הנק' החדשה נמצאת על קצה אזור וורונוי – נוסיף להגדרה של מצב כללי, שהמקרה הזה לא יקרה. • אם אזור וורוני לא חסום: נשנה את כיוון האלגוריתם. מתקיים שהאנך האמצעי חותך לפחות פעם אחת את האזור (אלא אם כל האתרים על ישר אחד). נמשיך את צעד האלגוריתם מנקודה זו, ולא מהנקודה הרגילה. נעצור כשנגיע שוב לקשת וורונוי לא חסומה.
שילוש דלוני והבעיה הדואלית • בדיאגרמתוורונוי מייצגים קירבה של נקודות לאתרים. • נרצה להסתכל אולי על קרבה של אתרים זה לזה. • הגדרה: הגרף הדואלי של Vor(S) הוא גרף שקודקודיו הם האתרים ב-S ושני קודקודים מחוברים בקשת אמ"מ הם חולקים אותה קשת וורונוי (סמוכים זה לזה). • מתקיים: הגרף הדואלי של Vor(S) הוא גרף מישורי (הוכחה בהמשך). • תזכורת: גרף מישורי הוא גרף שאפשר לצייר אותו כך שאף קשת לא תחתוך קשת אחרת – כלומר מספיק להראות דרך ציור אחת כזאת.
שילוש דלוני והבעיה הדואלית • בשחור – קשתות וורונוי. באדום: קשתות הגרף הדואלי.(קודקודי וורונוי, בשחור, לא שייכים לגרף הדואלי).
שילוש דלוני והבעיה הדואלית • שאלה קיומית: מה יקרה לגרף הדואלי אם ניישר את הקשתות? (כלומר נרשה שהן יהיו קווים ישרים בלבד) • תשובה קיומית: כתוב בכותרת. עכשיו נוכיח.
שילוש דלוני והבעיה הדואלית • למה: יהיו A,B שני עיגולים עם 2 מיתרים שחותכים זה את זה. אז מתקיים שלפחות נקודת קצה אחת של אחד המיתרים בעיגול אחד נמצאת ממש בתוך העיגול השני. • הוכחה: אם אחד העיגולים מוכל בשני, סיימנו.אחרת, נסובב את המישור כך שהנקודה השמאלית ביותר של A נמצאת משמאל לנקודה השמאלית ביותר של B. • נסמן ב-a1a2 את המיתר של A כך שa1≤xa2 • נסמן בb1b2 את המיתר של B כך שb1≤xb2 • נסמן ב-L את המיתר הנמתח בין נקודות החיתוך של העיגולים (הקו השחור).
שילוש דלוני והבעיה הדואלית • למה: יהיו A,B שני עיגולים עם 2 מיתרים שחותכים זה את זה. אז מתקיים שלפחות נקודת קצה אחת של אחד המיתרים בעיגול אחד נמצאת ממש בתוך העיגול השני. • אם a1,a2<xL וגם b1,b2>xL אז מתקיים ציור שמאל. ולכן המיתרים לא יכולים להיחתך בסתירה להנחה. • לכן בהכרח a1) או a2 ב-) אוb1) או b2 ב-) • בכל מקרה קצה של מיתר אחד חייבלהיות בעיגול השני.
שילוש דלוני והבעיה הדואלית • משפט: בגרף הדואלי של Vor(S) עם קשתות קווים ישרים אין קשתות חוצות (נסמנוG). • הוכחה: נניח בשלילה שקיימות שתי קשתות a1a2 ו-b1b2 ב-G שחוצות זו את זה (a1,a2,b1,b2 אתרים). לפי המשפט שהוכחנו קודם – קיימת נקודה x על קשתוורונוי בין a1 ל-a2כך שקיים עיגול Aש-x היא מרכזו, ורק האתריםa1 ו-a2 נמצאים בהיקפו והפנים ריק.באותו אופן קיימת נקודה y ועיגול Bכך שהאתרים b1 ו-b2 על היקפו בלבד.
שילוש דלוני והבעיה הדואלית • משפט: בגרף הדואלי של Vor(S) עם קשתות קווים ישרים אין קשתות חוצות (נסמנוG). • הוכחה – המשך: אבל לפי הלמה הקודמת, חייב להתקיים שקצה אחד (אתר) של הקטעים נמצא ממש בעיגול השני. בסתירה למשפט שהעיגולים חייבים להיותריקים. לכן אף קשת לא חותכת קשת אחרת.(למשל בציור, a2 בתוך המעגל B)
שילוש דלוני והבעיה הדואלית • מסקנה: עבור קבוצת נקודות S במיקום כללי (אין 4 אתרים על אותו היקף מעגל) מתקיים שהגרף הדואלי עם קשתות קווים ישרים של Vor(s) (G) הוא שילוש של S. • הוכחה: מתקיים שדרגת כל קודקוד וורונוי היא בדיוק 3, לכן מתאים בדיוק למשולש ב-G. נשים לב שב-G אף קשת לא חוצה קשת אחרת. ולכן קיבלנו שילוש חוקי.
שילוש דלוני והבעיה הדואלית • הגדרה: הגרף הדואלי של Vor(S) עם קשתות קווים ישרים נקרא השילוש הדואלי של דיאגרמתוורונוי. (בקיצור פשוט הדואלי).הדואליות מקשרת כל אזור וורונוי לצומת (אתר) וכל אתר מקשרת למשולש.
שילוש דלוני והבעיה הדואלית • המשפט הקיומי: תהא S קבוצת נקודות במיקום כללי אז השילוש הדואלי של Vor(S) הוא בדיוק שילוש דלוניDel(S) של S. • הוכחה: לפי משפט שהוכחנו קודם, כל צומת וורונוי הוא מרכז של מעגל החוסם את 3 האתרים שאליו הוא סמוך, והמעגל ריק. נשים לב שהמעגל חוסם בדיוק את המשולש בשילוש. לפי עוד משפט שהוכח בהרצאות הקודמות, שילוש הוא דלוני אמ"מ לכל משולש מתקיים שיש מעגל חוסם שבו אין אף קודקודים אחרים מלבד של המשולש.
שילוש דלוני והבעיה הדואלית הקשר בין שילוש דלונילדיאגרמתוורונוי הוא לא סתם מקרי! דלוני היה בעצם דוקטורנט של וורונוי באוניברסיטה של קייב .
שילוש דלוני והבעיה הדואלית • מסקנה: תהא S קבוצת נקודות במיקום כללי אז שילוש דלוניDel(S) הוא יחיד – הוכחה אלטרנטיבית ליחידות שילוש דלוני. • הוכחה: דיאגרמתוורונוי היא יחידה (ישירות מההגדרה) ולכן לפי המשפט הקודם היא מתאימה בדיוק לשילוש דלוני.
שילוש דלוני והבעיה הדואלית • תזכורת: ה-flip graph של קבוצת נקודות S הוא גרף שבו כל קודקוד הוא שילוש חוקי של S ושני קודקודים מחוברים אמ"מ אפשר לעבור משילוש אחד לשני ע"י הפיכת אלכסון אחד. • שימוש מעניין: הוכחה מחודשת למשפט שה-flip graph הוא קשיר. • הוכחה: לפי האלג' למציאת שילוש דלוני (היפוך אלכסונים), אפשר להפוך כל שילוש לשילוש דלוני. לפי המסקנה, שילוש דלוני הוא יחיד. לכן קיים מסלול ב-flip graph מכל צומת לצומת המייצג את שילוש דלוני. לכן הגרף קשיר.