صفحه اصلی حفره دهان روش توپ خالی دلون. ساخت و ساز در حالت کلی

روش توپ خالی دلون. ساخت و ساز در حالت کلی

اوت 20, 2012 در 10:41 ب.ظ

بهینه سازی الگوریتم بررسی شرایط دلونی از طریق معادله دایره و کاربرد آن

من به شما رازی را در مورد چگونگی بررسی سریع شرایط دلون برای دو مثلث به شما خواهم گفت.
در واقع، خود بهینه‌سازی کمی پایین‌تر توضیح داده شده است (به «بهینه‌سازی الگوریتم برای بررسی شرایط دلونی از طریق معادله دایره‌ای» مراجعه کنید)، اما من به ترتیب همه چیز را به شما خواهم گفت.

در مورد من، مثلث سازی در ردیابی تصویر برای تقسیم صفحه به بخش های اولیه (مثلث) استفاده می شود. همانطور که می دانید، آن نیز به چند مرحله تقسیم می شود: تنظیم، شناسایی مرزها، راه رفتن در اطراف مرزها، جارو کردن خطوط. این در بسیار است نمای کلی. من واقعاً دوست دارم متوقف شوم، فکر می کنم مرحله سخت: جارو کردن هواپیما.

در ورودی
پس از شناسایی و عبور از مرزها، حلقه های بیرونی زیادی در خروجی دریافت کردم. هر کانتور لمسی دارد رنگهای متفاوت. هر یک از این مدارها همچنین حاوی تعداد مشخصی از مدارهای داخلی است.
بنابراین، از نقطه نظر "جارو کردن هواپیما"، اگر خطوط خارجی را جداگانه در نظر بگیریم، مجموعه ای از نقاط را داریم که هر کدام یک همسایه در سمت راست و چپ دارند. آن ها تمام نقاط در یک زنجیره بسته شده اند، یک نقطه "آویز" وجود ندارد و هر زنجیره حداقل شامل 3 نقطه است (شکل 1).

تصویر 1

چه باید کرد
شما باید شکل را با مثلث بپوشانید.
جستجو کردن
پس از خواندن کتاب، من یک روش واحد (حداقل یک) برای ساخت مثلث دلون پیدا نکردم که حداقل تا حدودی برای مورد من مناسب باشد. من دنبال کتاب های دیگر نبودم. و همین کافی بود، افکار را در سرم مرتب کرد. در نتیجه، او "دوچرخه" خود را اختراع کرد.
الگوریتم
1) بیایید برای شروع فرض کنیم که فقط یک دنباله در شکل مورد بررسی وجود دارد. سپس همه چیز به گرفتن متوالی مثلث ها ختم می شود. هر نقطه ای را می گیریم و سعی می کنیم مثلثی با نقاط همسایه بسازیم. اگر امکان ساخت مثلث وجود نداشت (خطی که این دو نقطه را به هم متصل می کند با آنهایی که قبلاً ساخته شده است قطع می شود یا خط در منطقه محرومیت می گذرد (شکل 2) به نقطه بعدی می رویم، می گوییم به سمت راست. وقتی مثلث بعدی باشد. پیدا شد، آن را به لیست اضافه می کنیم (شکل 3) و نقطه ای را که از آن ساخته شده است حذف می کنیم (شکل 4).


شکل 2

شکل 3

شکل 4

یک چیز دیگر: هنگام ذخیره مثلث بعدی، لازم است راس ها را در یک پیمایش در جهت عقربه های ساعت (در سیستم مختصات سمت راست) ثبت کنید. این در آینده برای کاهش منابع محاسباتی مفید خواهد بود.

2) مرحله 1 را تکرار کنید تا زمانی که کل هواپیما را جارو کنیم.

3) اگر چندین دنباله وجود داشته باشد، به عنوان مثال. یک، و در داخل آن یک یا چند کانتور داخلی وجود دارد (شکل 1). در اینجا لازم است هر سکانس را جداگانه در نظر بگیریم. بیایید یک کانتور داخلی دیگر را در نظر بگیریم. از یک خارجی و دیگری داخلی دو مدار تک می سازیم. برای انجام این کار، باید دو "پورت" از یک مدار به مدار دیگر پیدا کنید. شرایط برای "پورت ها": آنها نباید با یکدیگر تلاقی داشته باشند (حتی انتهای آنها نباید با یکدیگر تماس داشته باشند)، و نباید با خطوط کانتور قطع شوند (شکل 5).


شکل 5

شکل 6
4) در مرحله بعد، شما باید یک به یک تمام دنباله های داخلی را به دنباله های از قبل تشکیل شده، جدا از یکدیگر وارد کنید (نقطه 3). باید آن را با یکی که حاوی جدید است ادغام کنید. طبق تعریف، هیچ سکانس داخلی با دیگران (هم یکی بیرونی و هم همه موارد داخلی ممکن) تماس یا تلاقی ندارد، بنابراین همه چیز به آرامی پیش خواهد رفت.
با یافتن پورت ها (شکل 6)، ساخت توالی های جدید و دور زدن آنها با استفاده از نقاط 1 و 2 الگوریتم فعلی آسان است (شکل 7).

شکل 7

5) پس از مرحله چهارم، لیستی از مثلث ها داریم (شکل 8). گویی کار قبلاً تکمیل شده است، اما تنها چیزی که باقی می‌ماند این است که تصویر را زیبا کنید: بررسی کنید که شرط Delaunay برآورده شده است (شکل 9).

شکل 8

شکل 9

6) با نگاهی به آینده، نکته ششم را به شما خواهم گفت. این شامل عبور متوالی لیست مثلث های به دست آمده با استفاده از مرحله شماره 5 است. ابتدا همه مثلث ها را به عنوان "کثیف" علامت گذاری می کنیم. در هر چرخه، شرط دلونی را برای هر مثلث بررسی می کنیم. اگر شرط برآورده نشد، همسایه ها و مثلث فعلی را دوباره می سازیم و به عنوان "کثیف" علامت گذاری می کنیم. اگر شرط برآورده شد، آن را تمیز علامت گذاری می کنیم. در اجرای الگوریتم من، هر مثلث پیوندی به همسایگان خود دارد. در این مورد، نقطه 6 سریعترین کار را انجام می دهد.

اطلاعات بیشتر در مورد مرحله پنجم
الان تا جایی که من میدونم دوتا هست راه های ممکنتعیین کنید که آیا مثلث ها شرط دلونی را برآورده می کنند یا خیر: 1) مجموع زوایای مخالف را بررسی کنید. باید کمتر از 180 باشد. 2) مرکز دایره محدود شده را محاسبه کنید و فاصله تا نقطه چهارم را محاسبه کنید. همه می دانند که اگر نقطه خارج از دایره محدود باشد، شرط دلون برآورده می شود.

توان محاسباتی شماره 1: 10 ضرب/تقسیم و 13 جمع/ تفریق.
توان محاسباتی شماره 2: 29 عملیات ضرب/تقسیم و 24 عملیات جمع/تفریق.

از نظر قدرت محاسباتی که مثلا در کتاب محاسبه شده گزینه شماره 1 سود بیشتری دارد. من آن را اجرا می کردم، اگر نه... (شکل 10). همانطور که بعد از تولید مشخص شد این روشبر روی "تسمه نقاله"، نتیجه عدم قطعیت بود. این گزینه زمانی است که خود زاویه A بیش از 180 درجه باشد. در کتاب به عنوان یکی از روش های خصوصی فردی در نظر گرفته شده است. و با این همه ظرافت، شفافیت و عملکرد آن از بین می رود. و همچنین بعداً مشخص شد که روش شماره 2 می تواند به طور قابل توجهی بهینه شود.


شکل 10

بهینه سازی الگوریتم برای بررسی شرایط دلونی از طریق معادله دایره

بعد ریاضیات محض است.

بنابراین ما داریم:
بررسی شرط نقطه M(X, Y) با معادله دایره ای که از نقاط A(x1, y1), B(x2, y2), C(x3, y3) می گذرد را می توان به صورت زیر نوشت:

(a ⋅ (X^2 + Y^ 2) − b ⋅ X + c ⋅ Y − د) ⋅ علامت a ≥ 0

جزئیات را می توان در کتاب عالی یافت. (نه، من نویسنده نیستم)
بنابراین، علامت a علامت جهت پیمایش است، از همان ابتدا مثلث ها را در جهت عقربه های ساعت ساختم، بنابراین می توان آن را حذف کرد (برابر یک است).

A(x1 - X، y1 - Y)، B(x2 - X، y2 - Y)، B(x3 - X، y3 - Y)؛

D>=0

شکل 11

ساده نیست؟

طبق کتاب، دوباره،

(x1^2 + y1^2)*(y2*x3 - x2*y3) + (x2^2 + y2^2)*(x1*y3 - y1*x3) + (x3^2 + y3^2)* (y1*x2 - x1*y2)<= 0

ما داریم: 15 عملیات ضرب/تقسیم و 14 عمل جمع/تفریق.

با تشکر از توجه شما. منتظر انتقاد هستم

کتابشناسی - فهرست کتب
1. Skvortsov A.V. مثلث سازی دلون و کاربرد آن - تامسک: انتشارات تام. دانشگاه، 2002. – 128 ص. شابک 5-7511-1501-5

مدل های GRID مدل هایی از سلول های معمولی هستند.

اجازه دهید سیستم مختصات معرفی شود
و و
. مجموعه های کاربری
و مراحل نمونه برداری
.


,

- مختصات فیزیکی نقطه

محاسبه می کنیم
و
,
- شبکه بیت.

- مقادیر کوانتیزه شده واقعی:

- پارامتر الگوریتم - تعداد نقاط، - وزن. هر چه نقطه نزدیکتر باشد، وزن آن بیشتر می شود.

- درجه فاصله (1 یا 2).

عامل عادی سازی:

چگونه نزدیک به 1 امتیاز بیشتری با وزن بالاتر در نظر گرفته می شود.

این روش IDW است - طولانی، برای هر t لازم است همسایگان را پیدا کنید. مجموعه همسایگان را می توان به طور موثر پیدا کرد - نزدیکترین. هر نقطه یک "میخ" با ارتفاع مشخص تولید می کند. خیلی به بی نظمی در تعیین نقطه بستگی دارد، برای این کار آنها را انتخاب می کنند
یا
آن ها به بخش ها تقسیم شده و نقاطی در مجاورت ایجاد کنید.

مزیت - فایده - سود - منفعت- سادگی

نقص:


------بلیت 14. مدل حلبی. الگوریتم های مثلث سازی دلونی ------

1) مثلث سازی (قلع).

مثلث سازی- ساخت یک تابع در قالب مجموعه ای از توابع خطی تکه ای

مثلث سازی- درون یابی در یک منطقه محدب.

مثلث سازی- یک نمودار مسطح که تمام لبه های داخلی آن مثلث هستند. روشی برای نمایش فضا به شکل مثلث های مجاور یکدیگر بدون همپوشانی. مثلث سازی بر روی مجموعه ای از نقاط به روش های مختلف ساخته شده است.

یک الگوریتم برای ساخت مثلث بهینه مورد نیاز است.

هواپیمایی که از 3 نقطه عبور می کند.

1) مثلثی را پیدا کنید که
;

2)
- معادله ای از هواپیما بسازید.

برای بررسی اینکه آیا نقاط داخل مثلث هستند یا نه، باید مقدار را در معادله خطوط - لبه های مثلث جایگزین کنید. اگر هر 3 معادله > 0 باشد، داخل است.

ساختار ارائه:

هر مثلث شامل همان تعداد مثلث است.

، جایی که - تعداد امتیازات داخلی
- مقدار امتیاز

مثلثی حریص.

تمام نقاط را با لبه ها به هم وصل می کنیم، حداقل را انتخاب می کنیم و آنها را به مثلث اضافه می کنیم. بعد، حداقل بعدی را که با موارد قبلی تلاقی نمی کند و غیره می گیریم. نتیجه مثلث بندی حریصانه است.

مثلث سازی دلونی

داخل دایره ای که دور هر مثلثی محصور شده است نقاط مثلث های دیگر را شامل نمی شود. به تنها راه ساخته شده است.

تلنگر انتقال لبه ها است. این به شما امکان می دهد از مثلث سازی معمولی به مثلث سازی Delaunay بروید. برای بررسی اینکه آیا یک نقطه به یک دایره تعلق دارد: اگر را جایگزین کنید< R, то внутри.

شرایط دلون.

معادله دایره ای که از سه نقطه عبور می کند:

اگر کمتر از صفر باشد، خارجی، در غیر این صورت - داخلی.

- شرایط دلون.

الگوریتم ساخت مثلث دلونی:

1) اضافه کردن نقاط تحت بررسی- یک الگوریتم تکراری ساده:

یک مجموعه وجود دارد
به مثلث اضافه کنید، ساخت و ساز انجام می شود
تقسیم مثلث
بازسازی در مرحله صفر، ما 3-4 نقطه ساختگی را اضافه می کنیم، که بدیهی است که پاکت ما را پوشش می دهد، تمام نقاط داخل. سپس نقطه را پرتاب می کنیم، نگاه می کنیم که به کدام مثلث برخورد می کند، آن را به 3 تقسیم می کنیم، برای هر مثلث شرط Delaunay را بررسی می کنیم و یک انتقال لبه ها را انجام می دهیم. میانگین تعداد تغییر خطوط سه است.

پیچیدگی نظری

2) روش های شتاب.بر اساس نقاط وابسته آماری. مثلث بذر مثلثی است که نقطه قبلی در آن افتاد. سپس دو نقطه - قبلی و جدید را به هم وصل می کنیم.

از نقطه اول به نقطه دیگر می رویم.

اوت 20, 2012 در 10:41 ب.ظ

بهینه سازی الگوریتم بررسی شرایط دلونی از طریق معادله دایره و کاربرد آن

  • پردازش تصویر ،
  • برنامه نويسي

من به شما رازی را در مورد چگونگی بررسی سریع شرایط دلون برای دو مثلث به شما خواهم گفت.
در واقع، خود بهینه‌سازی کمی پایین‌تر توضیح داده شده است (به «بهینه‌سازی الگوریتم برای بررسی شرایط دلونی از طریق معادله دایره‌ای» مراجعه کنید)، اما من به ترتیب همه چیز را به شما خواهم گفت.

در مورد من، مثلث سازی در ردیابی تصویر برای تقسیم صفحه به بخش های اولیه (مثلث) استفاده می شود. همانطور که می دانید، آن نیز به چند مرحله تقسیم می شود: تنظیم، شناسایی مرزها، راه رفتن در اطراف مرزها، جارو کردن خطوط. این در کلی ترین اصطلاح است. من فکر می کنم می خواهم در سخت ترین مرحله توقف کنم: جارو کردن هواپیما.

در ورودی
پس از شناسایی و عبور از مرزها، حلقه های بیرونی زیادی در خروجی دریافت کردم. هر طرح لمسی رنگ متفاوتی دارد. هر یک از این مدارها همچنین حاوی تعداد مشخصی از مدارهای داخلی است.
بنابراین، از نقطه نظر "جارو کردن هواپیما"، اگر خطوط خارجی را جداگانه در نظر بگیریم، مجموعه ای از نقاط را داریم که هر کدام یک همسایه در سمت راست و چپ دارند. آن ها تمام نقاط در یک زنجیره بسته شده اند، یک نقطه "آویز" وجود ندارد و هر زنجیره حداقل شامل 3 نقطه است (شکل 1).

تصویر 1

چه باید کرد
شما باید شکل را با مثلث بپوشانید.
جستجو کردن
پس از خواندن کتاب، من یک روش واحد (حداقل یک) برای ساخت مثلث دلون پیدا نکردم که حداقل تا حدودی برای مورد من مناسب باشد. من دنبال کتاب های دیگر نبودم. و همین کافی بود، افکار را در سرم مرتب کرد. در نتیجه، او "دوچرخه" خود را اختراع کرد.
الگوریتم
1) بیایید برای شروع فرض کنیم که فقط یک دنباله در شکل مورد بررسی وجود دارد. سپس همه چیز به گرفتن متوالی مثلث ها ختم می شود. هر نقطه ای را می گیریم و سعی می کنیم مثلثی با نقاط همسایه بسازیم. اگر امکان ساخت مثلث وجود نداشت (خطی که این دو نقطه را به هم متصل می کند با آنهایی که قبلاً ساخته شده است قطع می شود یا خط در منطقه محرومیت می گذرد (شکل 2) به نقطه بعدی می رویم، می گوییم به سمت راست. وقتی مثلث بعدی باشد. پیدا شد، آن را به لیست اضافه می کنیم (شکل 3) و نقطه ای را که از آن ساخته شده است حذف می کنیم (شکل 4).


شکل 2

شکل 3

شکل 4

یک چیز دیگر: هنگام ذخیره مثلث بعدی، لازم است راس ها را در یک پیمایش در جهت عقربه های ساعت (در سیستم مختصات سمت راست) ثبت کنید. این در آینده برای کاهش منابع محاسباتی مفید خواهد بود.

2) مرحله 1 را تکرار کنید تا زمانی که کل هواپیما را جارو کنیم.

3) اگر چندین دنباله وجود داشته باشد، به عنوان مثال. یک، و در داخل آن یک یا چند کانتور داخلی وجود دارد (شکل 1). در اینجا لازم است هر سکانس را جداگانه در نظر بگیریم. بیایید یک کانتور داخلی دیگر را در نظر بگیریم. از یک خارجی و دیگری داخلی دو مدار تک می سازیم. برای انجام این کار، باید دو "پورت" از یک مدار به مدار دیگر پیدا کنید. شرایط برای "پورت ها": آنها نباید با یکدیگر تلاقی داشته باشند (حتی انتهای آنها نباید با یکدیگر تماس داشته باشند)، و نباید با خطوط کانتور قطع شوند (شکل 5).


شکل 5

شکل 6
4) در مرحله بعد، شما باید یک به یک تمام دنباله های داخلی را به دنباله های از قبل تشکیل شده، جدا از یکدیگر وارد کنید (نقطه 3). باید آن را با یکی که حاوی جدید است ادغام کنید. طبق تعریف، هیچ سکانس داخلی با دیگران (هم یکی بیرونی و هم همه موارد داخلی ممکن) تماس یا تلاقی ندارد، بنابراین همه چیز به آرامی پیش خواهد رفت.
با یافتن پورت ها (شکل 6)، ساخت توالی های جدید و دور زدن آنها با استفاده از نقاط 1 و 2 الگوریتم فعلی آسان است (شکل 7).

شکل 7

5) پس از مرحله چهارم، لیستی از مثلث ها داریم (شکل 8). گویی کار قبلاً تکمیل شده است، اما تنها چیزی که باقی می‌ماند این است که تصویر را زیبا کنید: بررسی کنید که شرط Delaunay برآورده شده است (شکل 9).

شکل 8

شکل 9

6) با نگاهی به آینده، نکته ششم را به شما خواهم گفت. این شامل عبور متوالی لیست مثلث های به دست آمده با استفاده از مرحله شماره 5 است. ابتدا همه مثلث ها را به عنوان "کثیف" علامت گذاری می کنیم. در هر چرخه، شرط دلونی را برای هر مثلث بررسی می کنیم. اگر شرط برآورده نشد، همسایه ها و مثلث فعلی را دوباره می سازیم و به عنوان "کثیف" علامت گذاری می کنیم. اگر شرط برآورده شد، آن را تمیز علامت گذاری می کنیم. در اجرای الگوریتم من، هر مثلث پیوندی به همسایگان خود دارد. در این مورد، نقطه 6 سریعترین کار را انجام می دهد.

اطلاعات بیشتر در مورد مرحله پنجم
اکنون، تا آنجا که من می دانم، دو راه ممکن برای تعیین اینکه آیا مثلث ها شرط دلونی را برآورده می کنند یا خیر وجود دارد: 1) مجموع زوایای مخالف را بررسی کنید. باید کمتر از 180 باشد. 2) مرکز دایره محدود شده را محاسبه کنید و فاصله تا نقطه چهارم را محاسبه کنید. همه می دانند که اگر نقطه خارج از دایره محدود باشد، شرط دلون برآورده می شود.

توان محاسباتی شماره 1: 10 ضرب/تقسیم و 13 جمع/ تفریق.
توان محاسباتی شماره 2: 29 عملیات ضرب/تقسیم و 24 عملیات جمع/تفریق.

از نظر قدرت محاسباتی که مثلا در کتاب محاسبه شده گزینه شماره 1 سود بیشتری دارد. من آن را اجرا می کردم، اگر نه... (شکل 10). همانطور که معلوم شد، پس از قرار دادن این روش بر روی "نقاله"، عدم اطمینان حاصل شد. این گزینه زمانی است که خود زاویه A بیش از 180 درجه باشد. در کتاب به عنوان یکی از روش های خصوصی فردی در نظر گرفته شده است. و با این همه ظرافت، شفافیت و عملکرد آن از بین می رود. و همچنین بعداً مشخص شد که روش شماره 2 می تواند به طور قابل توجهی بهینه شود.


شکل 10

بهینه سازی الگوریتم برای بررسی شرایط دلونی از طریق معادله دایره

بعد ریاضیات محض است.

بنابراین ما داریم:
بررسی شرط نقطه M(X, Y) با معادله دایره ای که از نقاط A(x1, y1), B(x2, y2), C(x3, y3) می گذرد را می توان به صورت زیر نوشت:

(a ⋅ (X^2 + Y^ 2) − b ⋅ X + c ⋅ Y − د) ⋅ علامت a ≥ 0

جزئیات را می توان در کتاب عالی یافت. (نه، من نویسنده نیستم)
بنابراین، علامت a علامت جهت پیمایش است، از همان ابتدا مثلث ها را در جهت عقربه های ساعت ساختم، بنابراین می توان آن را حذف کرد (برابر یک است).

A(x1 - X، y1 - Y)، B(x2 - X، y2 - Y)، B(x3 - X، y3 - Y)؛

D>=0

شکل 11

ساده نیست؟

طبق کتاب، دوباره،

(x1^2 + y1^2)*(y2*x3 - x2*y3) + (x2^2 + y2^2)*(x1*y3 - y1*x3) + (x3^2 + y3^2)* (y1*x2 - x1*y2)<= 0

ما داریم: 15 عملیات ضرب/تقسیم و 14 عمل جمع/تفریق.

با تشکر از توجه شما. منتظر انتقاد هستم

کتابشناسی - فهرست کتب
1. Skvortsov A.V. مثلث سازی دلون و کاربرد آن - تامسک: انتشارات تام. دانشگاه، 2002. – 128 ص. شابک 5-7511-1501-5

تعاریف و ویژگی های اساسی

مثلث یک نمودار مسطح است که نواحی داخلی آن همه مثلث هستند.

خواص:

· مثلث Delaunay یک به یک با نمودار Voronoi برای همان مجموعه نقاط مطابقت دارد.

در نتیجه: اگر هیچ چهار نقطه روی یک دایره قرار نگیرد، مثلث دلونی منحصر به فرد است.

· مثلث سازی Delaunay حداقل زاویه را در بین تمام زوایای تمام مثلث های ساخته شده به حداکثر می رساند و در نتیجه از مثلث های "نازک" اجتناب می کند.

· مثلث سازی دلونی مجموع شعاع کره های محاطی را به حداکثر می رساند.

· مثلث سازی Delaunay عملکرد گسسته دیریکله را به حداقل می رساند.

· مثلث سازی Delaunay حداکثر شعاع حداقل کره محیط را به حداقل می رساند.

· مثلث Delaunay در صفحه دارای حداقل مجموع شعاع های دایره های توصیف شده در اطراف مثلث در بین تمام مثلث های ممکن است.

شکل 1. مثلث بندی.

مثلث محدب مثلثی است که حداقل چند ضلعی که همه مثلث ها را در بر می گیرد محدب است. مثلثی که محدب نباشد غیر محدب نامیده می شود.

مسئله ساختن مثلث از یک مجموعه معین از نقاط دو بعدی، مسئله اتصال نقاط داده شده توسط قطعات غیر متقاطع است به طوری که یک مثلث تشکیل می شود.

اگر هیچ یک از نقاط مثلث داده شده در داخل دایره محصور شده در اطراف هر مثلث ساخته شده قرار نگیرد، مثلث بندی شرط دلونی را برآورده می کند.

یک مثلث اگر محدب باشد و شرط دلونی را برآورده کند، مثلث دلونی نامیده می شود.


شکل 2. مثلث سازی دلون.

روش توپ خالی دلون. ساخت و ساز در حالت کلی

بیایید از یک توپ خالی استفاده کنیم که آن را حرکت می دهیم و اندازه آن را تغییر می دهیم تا بتواند نقاط سیستم (A) را لمس کند اما همیشه خالی بماند.

بنابراین، اجازه دهید یک توپ خالی دلونی را در سیستم نقاط (A) قرار دهیم. اگر توپی به اندازه کافی کوچک انتخاب کنید، همیشه این امکان وجود دارد. بیایید شروع به افزایش شعاع آن کنیم و مرکز توپ را در جای خود بگذاریم. در نقطه ای سطح توپ با نقطه ای از سیستم (A) برخورد می کند. این قطعا اتفاق خواهد افتاد، زیرا هیچ فضای خالی بی نهایت بزرگی در سیستم ما وجود ندارد. به شعاع توپ خالی ادامه می دهیم تا نقطه i روی سطح آن باقی بماند. برای این کار باید مرکز توپ را از نقطه i حرکت دهید. دیر یا زود توپ با سطح خود به نقطه دیگری در سیستم (A) خواهد رسید.

شکل 3

سیمپلکس های Delaunay فضا را بدون شکاف یا همپوشانی پر می کنند.

کره توصیف شده هر سیمپلکسی شامل سایر نقاط سیستم در درون خود نیست.

بگذارید این نقطه j باشد. بیایید به افزایش شعاع توپ خود ادامه دهیم و هر دو نقطه را روی سطح آن نگه داریم. با افزایش توپ، به نقطه سوم سیستم یعنی نقطه k می رسد. در حالت دو بعدی، "دایره خالی" ما در این لحظه ثابت می شود، یعنی. افزایش بیشتر شعاع آن با خالی نگه داشتن دایره غیرممکن خواهد بود. در همان زمان، ما یک پیکربندی دو بعدی ابتدایی از سه نقطه (i، j، k) را شناسایی می کنیم، که یک مثلث خاص را تعریف می کند، که ویژگی آن این است که هیچ نقطه دیگری از سیستم (A) در داخل دایره دایره آن وجود ندارد. در فضای سه بعدی، توپ با سه نقطه تعریف نمی شود. بیایید به افزایش شعاع آن ادامه دهیم و هر سه نقطه پیدا شده در سطح آن را حفظ کنیم. این کار تا زمانی امکان پذیر خواهد بود که سطح توپ به نقطه چهارم l سیستم برسد. پس از این حرکت و رشد توپ خالی غیرممکن خواهد شد. چهار نقطه یافت شده (i,j,k,l) ​​رئوس چهار وجهی را مشخص می کند که با این واقعیت مشخص می شود که در داخل کره محصور آن هیچ نقطه دیگری از سیستم (A) وجود ندارد. به چنین چهار وجهی، دلاوی سیمپلکس می گویند.

در ریاضیات، یک سیمپلکس ساده ترین شکل در یک فضای یک بعد معین است: چهار وجهی - در فضای سه بعدی. مثلث - در دو بعد. یک سه (چهار) نقطه دلخواه از سیستم که در یک صفحه قرار نمی گیرند همیشه یک سیمپلکس مشخص را تعریف می کنند. با این حال، تنها در صورتی یک سیمپلکس دلونی خواهد بود که کره توصیف شده آن خالی باشد. به عبارت دیگر، ساده سازی های دلونی با انتخاب خاصی از سه گانه (چهار برابر) نقاط در سیستم (A) تعیین می شوند.

ما یک Delaunay simplex ساخته‌ایم، اما با قرار دادن توپ خالی در مکان‌های مختلف و تکرار همان رویه، می‌توانیم موارد دیگری را تعریف کنیم. بیان شده است که مجموعه تمام ساده سازی های دلونی سیستم (A) فضا را بدون همپوشانی و شکاف پر می کند، یعنی. تقسیم فضا را اجرا می کند، اما این بار به چهار وجهی. این پارتیشن نامیده می شود کاشی کاری دلون(شکل 3).

کاربرد مثلث بندی دلونی

مثلث سازی های دلونی اغلب در فضای اقلیدسی استفاده می شود. درخت پوشا حداقل اقلیدسی تضمین شده است که بر روی مثلث دلونی قرار می گیرد، بنابراین برخی از الگوریتم ها از مثلث بندی استفاده می کنند. همچنین، از طریق مثلث سازی دلونی، مسئله فروشنده دوره گرد اقلیدسی تقریباً حل می شود.

در درونیابی دوبعدی، مثلث‌سازی دلونه، صفحه را به ضخیم‌ترین مثلث‌های ممکن تقسیم می‌کند، و از زوایای خیلی تیز و بیش از حد مبهم جلوگیری می‌کند. با استفاده از این مثلث ها می توانید به عنوان مثال درون یابی دو خطی بسازید.

یکی دیگر از مشکلات رایج در ژئوانفورماتیک، ساخت نوردهی شیب است. در اینجا لازم است جهت های غالب دامنه ها را با جهت اصلی تعیین کنیم و سطح را به مناطقی که در آن جهت خاصی غالب است تقسیم کنیم. از آنجایی که تعیین نوردهی برای نواحی افقی سطح معنی ندارد، مناطقی که افقی هستند یا شیب کمی دارند به یک منطقه جداگانه اختصاص داده می شوند، به عنوان مثال.<5 о. По странам света деление обычно выполняется на 4, 8 или 16 частей.


شکل 4.

مشکل محاسبه نوردهی شیب معمولاً برای تجزیه و تحلیل روشنایی زمین استفاده می شود. در این رابطه، اغلب نیاز به در نظر گرفتن موقعیت فعلی خورشید وجود دارد، یعنی. نوردهی به عنوان جهت بین حالت عادی به مثلث و جهت به خورشید محاسبه می شود.

بنابراین، هر مثلث مثلث را می توان بر اساس اصل تعلق به یک منطقه خاص طبقه بندی کرد. پس از این، فقط باید الگوریتم انتخاب منطقه را فراخوانی کنید.

مثلث سازی تقریب سطح یک جسم مدل شده توسط صفحات مثلثی است که از آن در فاصله ای بیش از مقدار مشخص شده 6 نیست. همه صفحات مثلثی باید به هم متصل شوند. بالای آنها روی سطح قرار دارد. کار با مجموعه ای از صفحات مثلثی راحت تر از یک سطح عمومی است. صفحات مثلثی را مثلث می نامیم. برای یک مثلث، فاصله تا یک نقطه معین یا نقطه تقاطع با یک خط معین در فضا به سرعت محاسبه می شود. مثلث بندی صورت ها برای درک بصری مدل هندسی انجام می شود، بنابراین اضلاع مثلث ها طوری انتخاب می شوند که چشم متوجه پیچ خوردگی ها نشود.

هنگام نمایش اجسام هندسی به‌وسیله مثلث بر روی سطوح پارامتریک سطوح، باید با محاسبه آرایه‌ای از نقاط در فضا و آرایه‌ای از نرمال‌ها به صورت‌های بدن در این نقاط، یک مثلث فضایی وجه‌های بدن با استفاده از آرایه‌ای ساخته شود. نقاط دو بعدی: برای نمایش سریع اجسام، صورت آنها توسط صفحات مثلثی ساخته شده بر روی نقاط عادی تقریب می شود تا رفتار پرتوهای نور در تعامل با چهره یک جسم مشخص شود. نقاشی های تن در فصل های قبل و در این فصل با استفاده از مثلث سازی ساخته شده اند.

در نتیجه مثلث‌سازی سطح، می‌خواهیم آرایه‌ای از نقاط دوبعدی در یک صفحه پارامتریک و آرایه‌ای از سه گانه اعداد صحیح داشته باشیم که تعداد نقاط اولین آرایه ذکر شده است. بنابراین، هر مثلث با سه عدد از رئوس خود در آرایه پارامتر نمایش داده می شود. برای هر نقطه دو بعدی حوزه پارامتریک، یک نقطه فضایی روی سطح و سطح نرمال در آن قابل محاسبه است. نقاط مکانی و نرمال ها را می توان در آرایه هایی مشابه آرایه نقطه ای دوبعدی ذخیره کرد.

بیایید به چند روش مثلث بندی نگاه کنیم. برای سطوح مسطح، روش های مثلث بندی مقرون به صرفه ای وجود دارد که در آن مثلث ها در نقاط مرزی سطح ساخته می شوند و نیازی به جستجوی نقاط داخل ناحیه پارامتری نیست.

مثلث سازی دلونی

بیایید منطقه ای را در هواپیما در نظر بگیریم. اگر ناحیه ای را محدب می نامیم اگر هنگام حرکت در امتداد مرز آن فقط در یک جهت بچرخید (فقط به چپ یا فقط به راست). الگوریتم Delaunay می تواند برای مثلث بندی مناطق مسطح محدب استفاده شود. ما نمی‌توانیم مستقیماً از این الگوریتم برای مثلث‌بندی سطوح آزاد استفاده کنیم، اما از روش آن برای ساخت مثلث استفاده خواهیم کرد.

برنج. 9.7.1. منطقه محدب با نقاط داده شده در داخل

اجازه دهید یک ناحیه دو بعدی محدب که توسط یک خط شکسته بسته محدود شده و مجموعه ای از نقاط در داخل این منطقه محدود شده باشد (شکل 9.7.1).

لازم است ناحیه مشخص شده را به مثلث هایی تقسیم کنیم که رئوس آن نقاط داده شده در داخل منطقه و رئوس خط شکسته محدود کننده آن است. مثلث ها نباید روی یکدیگر همپوشانی داشته باشند و اضلاع آنها فقط می توانند در رئوس یکدیگر را قطع کنند.

چندین مجموعه مختلف از مثلث ها را می توان برای پر کردن یک منطقه مشخص ساخت. در همه موارد، تعداد مثلث ها برابر است، که در آن K تعداد رئوس چندخط کران کننده است، I تعداد نقاط داده شده در داخل منطقه است.

برنج. 9.7.2. انتخاب نقطه سوم الگوریتم دلون

یک مثلث یک منطقه، مثلث دلونی خواهد بود اگر هیچ رئوسی از مثلث های دیگر در داخل دایره توصیف شده در اطراف هر مثلث وجود نداشته باشد. مثلث سازی Delaunay مثلث هایی را تا حد امکان نزدیک به متساوی الاضلاع می سازد (اجازه ساخت مثلث های دراز غیر منطقی را نمی دهد).

می توان آن را متعادل نامید. اگر چهار راس روی یک دایره نباشد، مثلث دلونی منحصر به فرد خواهد بود.

بیایید مثلث Delaunay را در نظر بگیریم. رئوس چندخط محدود کننده ناحیه و نقاط داده شده در داخل منطقه را رئوس مثلث می نامیم. اضلاع مثلث ها را لبه می نامیم. از میان یال ها، بخش هایی از چند خط مرزی را انتخاب می کنیم که آن ها را لبه های مرزی می نامیم. بیایید تمام لبه های مرزی را طوری جهت دهیم که ناحیه محدب در سمت چپ هر یال قرار گیرد. اجازه دهید لازم باشد مثلثی بسازیم که ضلع آن لبه مرزی AB است که در شکل نشان داده شده است. 9.7.2.

از طریق رئوس A، B و هر رأسی که روی یک خط با آنها قرار نگیرد، می توان یک دایره رسم کرد. به عنوان راس سوم مثلث، ما راس V را انتخاب می کنیم، دایره مربوطه شامل رئوس دیگری در همان ضلع نسبت به قطعه AB که نقطه V روی آن قرار دارد، نیست. برای یک یال مرزی، در حالت کلی، یک راس از این قبیل می تواند یافت می شود. ما آن را نزدیکترین می نامیم. مرکز دایره ای که از نقاط A، B و V می گذرد در محل تلاقی عمود بر نقاط وسط قطعات AB، BV و VA قرار دارد. موقعیت مرکز دایره با پارامتر t از بخش MN، عمود بر لبه AB، از نظر طول مساوی و عبور از وسط لبه AB مشخص می شود.

برنج. 9.7.3. فرآیند مثلث سازی دلونی

برای تمام رئوس که در سمت چپ قطعه AB قرار دارند، نزدیکترین راس دارای کوچکترین پارامتر t است. دایره مربوط به نزدیکترین راس شامل رئوس دیگری در سمت چپ قطعه AB نیست. بگذارید رئوس A، B و V به ترتیب با بردارهای شعاع دو بعدی توصیف شوند. بردار شعاع نقاط میانی قطعات AB و BV برابر خواهد بود

مقدار پارامتر t خط، مربوط به موقعیت مرکز دایره ای که از نقاط A، B و V می گذرد، برابر است با

برای نزدیکترین راس به سمت چپ قطعه AB، پارامتر t دارای حداقل مقدار است.

بیایید تمام لبه های مرزی را طوری جهت دهیم که ناحیه مثلثی در سمت چپ هر یک از آنها قرار گیرد. از هر لبه مرزی شروع به ساخت مثلث می کنیم. بیایید نزدیکترین راس را برای آن پیدا کنیم که دایره مربوطه آن راسهای دیگری را شامل نمی شود. اجازه دهید نزدیکترین راس V برای یال مرزی AB پیدا شود سپس یک مثلث ABV می سازیم و یال AB را به دسته غیرفعال منتقل می کنیم. ما لبه ها و رئوس های غیرفعال را که در الگوریتم مثلث سازی شرکت نمی کنند فراخوانی می کنیم. اگر لبه BV در بین لبه های مرزی وجود نداشته باشد، یک یال مرزی جدید روی قطعه VB می سازیم. اگر در بین یال های مرزی یک یال BV وجود داشته باشد، آن را و راس B را به دسته غیرفعال منتقل می کنیم. اگر هیچ لبه VA در بین لبه های مرزی وجود نداشته باشد، یک لبه مرزی جدید روی قطعه AV می سازیم. اگر در بین یال های مرزی یک یال VA وجود داشته باشد، آن را و راس A را به دسته غیرفعال منتقل می کنیم. فرآیند مثلث سازی در شکل نشان داده شده است. 9.7.3.

برنج. 9.7.4. مثلث سازی دلون

وقتی تمام رئوس و یال ها غیرفعال می شوند، مثلث بندی را تمام می کنیم. نتیجه مثلث بندی یک ناحیه معین در شکل نشان داده شده است. 9.7.4.

مثلث بندی به روش تصحیح.

بیایید مثلث بندی یک سطح خاص را با یک دامنه مستطیلی برای تعریف پارامترها در نظر بگیریم، اجازه دهید دامنه تعریف پارامترهای سطح را به سلول های مستطیلی با خطوط دو بعدی تقسیم کنیم، این خطوط یک شبکه مستطیل شکل را تشکیل می دهند. اجازه دهید فواصل پارامتری بین خطوط مجاور را مطابق با فرمول (9.4.7) برابر در نظر بگیریم.

اجازه دهید فواصل پارامتری بین خطوط مجاور را مطابق با فرمول (9.4.8) برابر در نظر بگیریم.

با ساختن مورب در تمام سلول های مستطیلی، یک مثلث سطح را به دست می آوریم (مجموعه ای از مثلث ها را به دست می آوریم که شرایط را برآورده می کند). در شکل 9.7.5 مثلث بندی سطح چرخش را با استفاده از روش توصیف شده نشان می دهد.

اجازه دهید مثلث بندی یک سطح با یک مرز دلخواه را در نظر بگیریم. ما روش مثلث‌سازی را بر روی تصحیح خطوط مرزی مثلث‌سازی سطحی که در بالا توضیح داده شد با یک ناحیه مستطیلی برای تعیین پارامترها می‌سازیم.

برنج. 9.7.5. مثلث سازی یک سطح با دامنه مستطیلی برای تعریف پارامترها

اجازه دهید مرز سطح در حوزه تعریف پارامتر با چندین خطوط دو بعدی غیر متقاطع توصیف شود (2.12.7). یکی از کانتورها خارجی است و شامل خطوط باقی مانده است. برای جهت مثبت برای هر کانتور، جهتی را در نظر می گیریم که هنگام حرکت در امتداد، ناحیه تعریف سطح همیشه در سمت چپ کانتور باشد، زمانی که به سمت سطح عادی نگاه می کنیم. بیایید چند ضلعی ها را در جهت مثبت خطوط مرزی ناحیه تعریف سطح بسازیم. برای ساخت چند ضلعی های مرزی، باید در امتداد خطوط مرزی سطح با مقداری گام متغیر قدم بزنید و آرایه ای از نقاط دو بعدی را پر کنید که مختصات آن پارامترهای سطح هستند. ما یک چند ضلعی از نقاط روی صفحه پارامتری خواهیم ساخت، اما گام در هنگام حرکت از یک نقطه به نقطه دیگر از هندسه فضایی تعیین می شود، یعنی از این شرایط که انحراف قوس منحنی بین نقاط مجاور بیش از یک داده شده نباشد. ارزش. ما مراحل پارامتری ساخت یک چند ضلعی برای منحنی مرزی سطح را با استفاده از فرمول (9.4.4) محاسبه می کنیم.

هر چند ضلعی از مجموعه منظمی از نقاط دو بعدی تشکیل شده است که هر بخش از یک چند ضلعی را می توان به عنوان یک پاره خط مستقیم دو بعدی در نظر گرفت که بر روی دو نقطه مجاور ساخته شده است. ما از چنین مناطقی به عنوان لبه های مرزی استفاده خواهیم کرد و نقاط چند ضلعی که یال ها بر روی آنها قرار دارند به عنوان رئوس مثلثی استفاده می شوند. از آنجایی که ناحیه تعیین پارامترهای سطح در سمت چپ چند ضلعی های مرزی قرار دارد، هنگام ساخت مثلث برای هر یال مثلث مرزی، باید به دنبال راس سوم مثلث در سمت چپ لبه باشید.

بیایید تعیین کنیم که کدام گره ها در داخل چند ضلعی های مرزی قرار دارند و کدام گره ها در مرز یا خارج از ناحیه تعریف سطح قرار دارند. با استفاده از این اطلاعات، سلول های شبکه مستطیلی را به دو گروه دسته بندی می کنیم. گروه اول شامل سلول هایی است که به طور کامل در منطقه ای قرار دارند که پارامترهای سطح تعیین می شوند (سلول ها نباید چند ضلعی های مرزی را لمس کنند). گروه دوم شامل سلول‌های باقی‌مانده (که خارج از ناحیه تعریف سطح قرار دارند یا با چندضلعی‌های مرزی قطع شده‌اند) است.

برنج. 9.7.6. مثلث سازی سطحی ناتمام

در داخل هر خانه از گروه اول با استفاده از یک مورب دو مثلث می سازیم. بنابراین ما یک مثلث ناتمام دریافت می کنیم. نمونه ای از ساخت مثلث در سلول های گروه اول برای سطح چرخشی محدود شده توسط خطوط در شکل 1 نشان داده شده است. 9.7.6.

لبه های مرزی در اضلاع غیر متقاطع سلول های گروه دوم می سازیم و آنها را طوری هدایت می کنیم که سلول مربوطه در سمت چپ لبه باشد. در اطراف سلول های گروه اول، یک خط شکسته بسته (احتمالاً چندین خط بسته) ایجاد می کنیم به طوری که هنگام حرکت در امتداد آن، قسمتی از ناحیه که به مثلث تقسیم نمی شود در سمت چپ قرار گیرد، وقتی به سمت سطح عادی نگاه می کنیم. . همچنین از بخش های مستقیم این خط شکسته به عنوان لبه های مرزی استفاده خواهیم کرد. تمام لبه ها را برابر در نظر می گیریم. برای تکمیل مثلث بندی، باید مثلث هایی بین لبه های مرزی بسازیم. برای هر یال به دنبال یک راس می گردیم که در سمت چپ آن قرار دارد و می توان از آن برای ساختن یک مثلث استفاده کرد. ما یک راس را فقط در میان آن رئوس هایی که در یک سلول با لبه قرار دارند جستجو خواهیم کرد. برای انتخاب یک راس، از روش Delaunay که در بالا توضیح داده شده و در شکل نشان داده شده است استفاده می کنیم. 9.7.2. اگر چنین رأسی یافت شد، باید بررسی کنید که آیا دو یال جدید مثلث با هر یال مرزی تلاقی می کنند یا خیر. اجازه دهید نزدیکترین راس V برای لبه مرزی AB پیدا شود و بررسی کنید که قطعات BV و VA لبه های مرزی دیگر را قطع نکنند. سپس مثلث ABV را می سازیم و یال AB را به دسته غیرفعال منتقل می کنیم. اگر در بین لبه های مرزی یال BV وجود نداشته باشد، یک یال مرزی جدید روی قطعه VB می سازیم، اما اگر یک یال BV در بین یال های مرزی وجود داشته باشد، آن را و راس B را به دسته غیرفعال منتقل می کنیم. اگر در بین یال های مرزی یال VA وجود نداشته باشد، یک یال مرزی جدید روی قطعه AV می سازیم، اما اگر یک یال VA در بین یال های مرزی وجود داشته باشد، آن را و راس A را به دسته غیرفعال منتقل می کنیم.

اگر یک قطعه یا VA یال‌های مرزی دیگر را قطع کند، به جستجوی نزدیک‌ترین راس برای یال مرزی دیگر می‌پردازیم. مثلث سازی پس از طبقه بندی تمام یال ها و رئوس به عنوان غیرفعال تکمیل می شود.

برنج. 9.7.7. مثلث بندی به روش تصحیح

در شکل 9.7.7 مثلث بندی سطح را با روش تصحیح مثلث در سلول هایی که با خطوط مرزی قطع شده اند نشان می دهد. در شکل 9.7.8، با استفاده از مثلث به دست آمده، خود سطح نمایش داده می شود.

اگر چند ضلعی های مرزی و سطح دارای تقارن باشند، مثلث بندی با روش تصحیح تقارن مشابهی خواهد داشت.

مثلث بندی به روش جذبی.

بیایید روش مثلث بندی دیگری را در نظر بگیریم. از نظر سرعت نسبت به مثلث سازی دلون و اصلاحات آن پایین تر است. برای شروع روش مثلث بندی، لازم است که مرز سطح را به شکل چند ضلعی های بسته نشان دهیم. در طول فرآیند مثلث بندی، ما باید مراحل را بر اساس پارامترهای سطح تعیین کنیم. با جهت حرکت مشخص، این مراحل با فرمول (9.4.6) تعیین می شوند. مراحل تقریبی برای پارامترهای سطح را می توان به شرح زیر یافت. اجازه دهید یک منطقه در صفحه پارامتر حول یک نقطه خاص به گونه ای تعریف کنیم که هر بخش فضایی از نقطه ای به نقطه دیگر در این ناحیه از یک مقدار معین S از سطح بیشتر نباشد.

برای انجام این کار، افزایش مجاز پارامترها را در امتداد خطوط مختصات محاسبه می کنیم

ضرایب شکل درجه دوم اول و دوم سطح در نقطه کجا هستند. به عنوان مرز ناحیه مورد نظر، یک بیضی با مرکز در یک نقطه و نیم محور می گیریم. این بیضی معادله دارد

اگر می خواهید نقطه ای در صفحه در کنار نقطه ای در جهت داده شده توسط زاویه با محور و پیدا کنید، پارامترهای آن به صورت زیر خواهد بود.

ابتدا بیایید یک مورد ساده‌تر را در نظر بگیریم وقتی که مساحت پارامترهای سطح به یک کانتور خارجی محدود می‌شود. ما مرز سطح را با یک چندضلعی بسته در حوزه پارامتری تقریب می‌زنیم. هنگام ساخت مثلث، از چند ضلعی کار استفاده می کنیم که در این حالت آن را به عنوان چند ضلعی کانتور خارجی می گیریم. نقاط چند ضلعی را به آرایه نقاط دو بعدی حاصل اضافه می کنیم. از لبه محل کار مثلث هایی می سازیم و آن را باریک می کنیم تا تنها سه نقطه در ناحیه کار باقی بماند.

بیایید یک راس در چند ضلعی کار پیدا کنیم که در آن به منطقه تبدیل می شود. چنین نقطه ای همیشه وجود دارد و زاویه چرخش در آن کوچکتر است. اجازه دهید این نقطه را با O و پارامترهای آن را با نزدیک به این نقطه نشان دهیم، بسته به زاویه چرخش، یک یا دو مثلث می سازیم. اگر زاویه کوچکتر باشد، روی این سه نقطه یک مثلث می سازیم (شکل 9.7.9). در غیر این صورت، دو مثلث، دو همسایه و یک نقطه جدید روی آن می سازیم (شکل 9.7.11). نقطه جدید با P مشخص می شود. ما به دنبال نقطه P در مورب متوازی الاضلاع B OS P خواهیم بود. اگر راس متوازی الاضلاع در داخل بیضی قرار گیرد (شکل 9.7.10)، آن را به عنوان نقطه P در نظر می گیریم. در غیر این صورت، محل تقاطع بیضی و مورب متوازی الاضلاع را به عنوان نقطه P در نظر می گیریم. در مورد دوم، اصلاً لازم نیست که به دنبال تقاطع بیضی و قطعه باشید.

مختصات نقطه P از طریق مختصات نقاط O BC تعیین می شود

زاویه قطعه OP با افقی با تساوی تعیین می شود

(9.7.8)

این داده ها تعیین موقعیت نقطه P نسبت به بیضی را ممکن می سازد (9.7.5).

در مورد نشان داده شده در شکل. 9.7.9، بیایید یک مثلث بسازیم (اعداد رئوس آن را به خاطر بسپاریم) و نقطه O را در ناحیه کار حذف کنیم. در حالت نشان داده شده در شکل. 9.7.11، دو مثلث می سازیم و در ناحیه کار نقطه O را با نقطه P جایگزین می کنیم و دومی را در آرایه نقاط به دست آمده قرار می دهیم. در شکل شکل 9.7.12 چند ضلعی حاصل از ساخت دو مثلث و حذف نقطه O را نشان می دهد. در هر دو حالت، نقطه O از چند ضلعی کار حذف شده و چند ضلعی کار باریک می شود. توجه داشته باشید که مثلث ها را فقط زمانی می توان ساخت که ناحیه کار، پس از باریک شدن، خود را قطع نکند.

برنج. 9.7.9. ساخت مثلث

برنج. 9.7.10. چند ضلعی نتیجه

برنج. 9.7.11. ساخت دو مثلث

برنج. 9.7.12. چند ضلعی نتیجه

چنین موقعیت هایی در شکل نشان داده شده است. 9.7.13. آنها می توانند زمانی رخ دهند که اضلاع مثلث های ساخته شده، اضلاع منطقه کاری را که مجاور آنها نیستند، قطع کنند. قبل از ساختن یک مثلث جدید همانطور که در شکل نشان داده شده است. 9.7.9، و در مورد نشان داده شده در شکل. 9.7.11، باید بررسی شود تا اطمینان حاصل شود که چند ضلعی به دست آمده خود را قطع نمی کند.

علاوه بر این، هنگام تعیین موقعیت نقطه P، مهم است که در فاصله کافی از سایر نقاط منطقه کار قرار داشته باشد و به بخش های متصل کننده نقاط منطقه نزدیک نشود. در غیر این صورت، ممکن است در آینده هنگام ساخت مثلث مشکلاتی ایجاد شود. بنابراین، قبل از باریک کردن چند ضلعی کار، باید چند ضلعی حاصل را از نظر خودتقاطع بررسی کنید. اگر ساختن مثلث (مثلث) در نزدیکی نقطه O غیرممکن است، در عوض باید نقطه دیگری را پیدا کنید که در آن چند ضلعی بیش از سایرین در داخل کانتور قرار می گیرد و اقدامات توصیف شده را در آن انجام دهید.

در مرحله بعد، با ناحیه کاری اصلاح شده، همان اقداماتی را که قبلاً توضیح دادیم انجام خواهیم داد. بیایید نقطه ای در چند ضلعی کار پیدا کنیم که در آن بیشتر از نقاط دیگر در داخل آن ناحیه بچرخد، با ساختن یک یا دو مثلث امکان باریک شدن چند ضلعی در آن را بررسی کرده و چند ضلعی را باریک کنیم.

برنج. 9.7.13. در این گوشه نمی توانید مثلث بسازید.

در ادامه این روند، آرایه نقاط دو بعدی و آرایه مثلث ها را گسترش می دهیم و در عین حال چند ضلعی کار را باریک می کنیم و مساحت آن و تعداد نقاط آن را کاهش می دهیم. در برخی از مراحل این اقدامات، ما یک چند ضلعی متشکل از سه نقطه دریافت خواهیم کرد. بیایید آخرین مثلث را در این نقاط بسازیم، منطقه کار را حذف کنیم و مثلث را تمام کنیم. در روش مثلث بندی توصیف شده، ناحیه محدود شده توسط ناحیه کار، همانطور که بود، با بریدن مثلث ها از آن حذف می شود.

بیایید حالت کلی را در نظر بگیریم که ناحیه پارامترهای سطح توسط یک کانتور خارجی و چندین کانتور داخلی که کاملاً در داخل کانتور خارجی قرار دارند محدود می شود. ما مرز سطح را با چند ضلعی های بسته در دامنه پارامتری تقریب می زنیم. برای هر کانتور ما چند ضلعی خودمان را خواهیم ساخت. درست مانند خطوط، برای چند ضلعی های ساخته شده بر روی آنها، قانون جهت گیری متقابل آنها باید رعایت شود. جهت چند ضلعی های داخلی باید مخالف جهت چندضلعی بیرونی باشد. بیایید شروع به ساخت مثلث با چند ضلعی کانتور بیرونی کنیم. بیایید نقاط آن را در آرایه حاصل از نقاط دو بعدی قرار دهیم و خود چند ضلعی را تبدیل به یک چند ضلعی کنیم.

ما مثلث ها را به همان روشی که در مورد یک منطقه ساده متصل می سازیم می سازیم. بیایید نقطه O را در ناحیه کار پیدا کنیم، امکان باریک شدن ناحیه کار را در آنجا بررسی کنیم و منطقه را باریک کنیم. اگر خطوط داخلی وجود داشته باشد، بررسی امکان باریک شدن منطقه کار در یک نقطه انتخاب شده دشوارتر می شود. علاوه بر بررسی های شرح داده شده برای تقاطع اضلاع مثلث ها با اضلاع ناحیه کار، لازم است که تلاقی اضلاع مثلث ها با اضلاع همه چند ضلعی های داخلی بررسی شود.

اجازه دهید امکان ساخت دو مثلث در نقطه O را بررسی کنیم (شکل 9.7.11)، و متوجه شویم که نقطه جدید P، پس از ساخته شدن، در داخل یکی از چند ضلعی های داخلی قرار می گیرد یا در مجاورت غیرقابل قبولی با بخش های آن قرار می گیرد. در این حالت، نقطه P را نمی سازیم، بلکه با ساختن دو مثلث نشان داده شده در شکل، این چند ضلعی داخلی را در چند ضلعی در حال کار قرار می دهیم. 9.7.14.

برای اینکه نقاط یکی از چند ضلعی های داخلی را در چند ضلعی کار قرار دهیم، در بین نقاط چند ضلعی داخلی نزدیک ترین نقطه به نقطه C (مجاور به نقطه O) چند ضلعی کار را می یابیم.

بیایید در نقاط OCF و CEF مثلث بسازیم و بین نقاط O و C از ناحیه کاری، نقاط چند ضلعی داخلی را وارد کنیم که از نقطه F شروع می شود و به نقطه E ختم می شود. چند ضلعی داخلی در قطعه EF و آنها را با بخش های OF و EU یکی کنید.

برنج. 9.7.14. ساخت دو مثلث

برنج. 9.7.15. ادغام چند ضلعی های خارجی و داخلی

نتیجه ادغام در شکل نشان داده شده است. 9.7.15. البته قبل از ادغام چند ضلعی بیرونی و داخلی باید بررسی هایی انجام شود تا از صحت این عملیات اطمینان حاصل شود.

در مرحله بعد، به محدود کردن ناحیه کار به روشی که توضیح داده شد ادامه می دهیم تا زمانی که خود را در مجاورت یک منطقه داخلی دیگر قرار دهیم و آن را در منطقه کار قرار دهیم. در نتیجه، تمام چند ضلعی های داخلی در چند ضلعی کار گنجانده می شوند که باید به سه نقطه آخر باریک شوند. در نتیجه، کل منطقه ضرب متصل برای تعیین پارامترهای سطح با مثلث پوشیده می شود.

برنج. 9.7.16. در این گوشه نمی توانید مثلث بسازید.

ممکن است شرایطی وجود داشته باشد که ساختن یک مثلث منفرد روی چند ضلعی های داده شده غیرممکن باشد. در شکل شکل 9.7.16 یک ناحیه محدود شده توسط دو چند ضلعی را نشان می دهد که هر کدام از چهار بخش تشکیل شده است. برای چند ضلعی بیرونی، نمی‌توانیم مثلث‌سازی را ادامه دهیم، زیرا چندضلعی داخلی در مسیر قرار دارد. در این حالت دو نقطه همسایه B و C از چند ضلعی را خواهیم یافت که می توانیم برای آنها یک مثلث HRV بسازیم. نقطه P به وسط ضلع BC کشیده شده و در فاصله ای از آن قرار دارد که مثلث جدید چند ضلعی ها را قطع نمی کند.

روش های دیگر مثلث بندی

راه های دیگری برای مثلث بندی وجود دارد. به عنوان مثال، پس از ساخت چند ضلعی های خطوط خارجی و داخلی ناحیه تعریف سطح، می توان استراتژی متفاوتی برای ساخت مثلث ها انتخاب کرد. گزینه دیگر ترکیب چند ضلعی های بیرونی و داخلی در یک چندضلعی قبل از شروع مثلث بندی است. می‌توانید با استفاده از الگوریتم خاصی، نقاط داخل ناحیه تعریف پارامتر را ترسیم کنید و با استفاده از آنها و نقاط چندضلعی‌های مرزی، مثلث‌سازی دلونی را انجام دهید. الگوریتم هایی وجود دارند که ابتدا مثلث های بزرگ می سازند و سپس آنها را به اندازه های قابل مدیریت تقسیم می کنند.

مثلث بندی بدن.

مثلث یک جسم مجموعه ای از مثلث هاست که از مثلث سازی سطوح صورت های آن به دست می آیند. مثلث‌سازی سطوح منفرد با مثلث‌سازی چهره‌های بدن متفاوت است، زیرا در حالت دوم، چندضلعی‌های مرزی برای وجوه مجاور باید سازگار باشند (شکل 9.7.17).

برنج. 9.7.17. قوام چند ضلعی مرزی صورت بدن

بخش هایی از چند ضلعی های وجه های مجاور که از لبه های مشترک عبور می کنند، اگر نقاط آنها در فضا منطبق باشد، سازگار خواهند بود.

کاربرد مثلث بندی

مثلث های ساخته شده در نتیجه مثلث بندی برای به دست آوردن تصاویر تن استفاده می شود. در شکل شکل‌های 9.7.18 و 9.7.19 مثلث‌سازی‌های صورت بدنه ورق را نشان می‌دهند که تصویر تن آن در شکل نشان داده شده است. 6.5.1.

برنج. 9.7.18. مثلث بندی صورت بدن با استفاده از روش اصلاح

تقسیم دامنه تعیین پارامترهای سطح به مثلث ها را می توان در انتگرال (8.6.2)، (8.6.3)، (8.6.12)، (8.7.17) - (8.7.22) هنگام محاسبه ویژگی های هندسی اجسام استفاده کرد. . در طول ادغام عددی، گام پارامتری برای منحنی ها باید با استفاده از فرمول (8.11.5) و برای سطوح، گام های پارامتری با استفاده از فرمول های (8.11.1) و (8.11.2) محاسبه شود.



جدید در سایت

>

محبوبترین