آماگ

متخصصین برتر

۳۱ خرداد ۱۴۰۵، ۰۷:۵۰

پیدا کردن مختصات مرز از مجموعه‌ای از مختصات نقاط داده‌شده

با فرض مجموعه‌ای از مختصات، چگونه مختصات مرز را پیدا کنیم؟ <== شکل ۱ با در نظر گرفتن مختصات مجموعهٔ بالا، چگونه می‌توانم مختصات روی مرز قرمز را به دست بیاورم؟ مرز، چندضلعی‌ای است که توسط مختصات ورودی به عنوان رئوس تشکیل می‌شود، به‌گونه‌ای که مساحت را به حداکثر برساند. من روی یک برنامهٔ کاربردی کار می‌کنم که املاک را در شعاع «x» مایل از یک شهر جستجو می‌کند. چیزی که من دارم عبارت است از: مختصات همهٔ املاک. یک مجموعه مختصات برای هر شهر (من برای هر کد پستی یک مختصات دارم. و چون بیشتر شهرها بیش از یک کد پستی دارند، هر شهر یک مجموعه مختصات دارد) دلیلی که من به دنبال حداکثر مساحت هستم این است که با چندضلعی‌ای مانند شکل زیر روبه‌رو نشوم: <== شکل ۲ آنچه من نیاز دارم الگوریتمی است برای به دست آوردن مجموعه مختصات مرز. الگوریتمی که به من اجازه دهد مختصات مرز شکل ۱ را به دست بیاورم.

پاسخ‌ها (2)

۳۱ خرداد ۱۴۰۵، ۰۸:۵۰
الگوریتم‌های زیادی برای حل این مسئله وجود دارد (ویکی‌پدیا «Convex_hull_algorithms»):
۳۱ خرداد ۱۴۰۵، ۰۹:۵۰
رسم جوپیتر بسته‌بندی (Gift wrapping) معروف به مارش جارویس (Jarvis march) — O(nh): یکی از ساده‌ترین الگوریتم‌ها. پیچیدگی زمانی آن O(nh) است، که در آن n تعداد نقاط موجود در مجموعه و h تعداد نقاط موجود در پوسته است. در بدترین حالت پیچیدگی O(n2) است.