ভাগ করা ক্ষেত্রের গড় লাইনস্ট্রিং (কিউজিসআইএস / পাইথন সুগঠিত) দ্বারা দুটি ছেদকারী বহুভুজকে কীভাবে ভাগ করা যায়


9

আমার দুটি বহুভুজ রয়েছে,

পলিগন ((- 5 -5, -5 5,5 5,5 -5, -5 -5)) পলীগন ((1 1, 1 7, 7 7, 7 1, 1 1))

এবং তাদের সমানভাবে বিভক্ত করতে চান। ফলস্বরূপ লাল চিহ্নিত রেখার পাশাপাশি একটি বিভাজন হওয়া উচিত।

আমি কিগিস / পাইথনটি সুদৃশ্যভাবে ব্যবহার করছি এবং পাইথন ব্যবহার করে এটি করার ইচ্ছা করছি।

লাইনস্ট্রিং (1 5,5 1)


4
আপনার সমস্যাটি কতটা সাধারণ? স্পষ্টতই আপনি কেবলমাত্র এই দুটি বহুভুজের চেয়ে বেশি প্রয়োগ করার জন্য একটি সমাধান চান। আপনি বহুভুজ কি ধরণের বিবেচনা? "সমানভাবে" বলতে কী বোঝ? বিভাজনটি একটি লাইন বিভাগের সাথে হওয়া উচিত বা এটি কিছু ননলাইনার চাপের সাথে থাকতে পারে? বহুভুজ ছেদটি একাধিক উপাদান নিয়ে গঠিত বা কেবল-সংযুক্ত না হলে কী হবে? আউটপুটটি কোন রূপ গ্রহণ করবে - এটি কি ছেদটি বিভক্ত করা উচিত, বা বহুভুজগুলির প্রতিটি, অথবা সম্ভবত বিভাজক রেখাটি হওয়া উচিত?
শুক্রবার

1
আমি ডাব্লু / অনিয়মিত বহুভুজ কাজ করছি, এবং দুটি না ছেদকারী বহুভুজ থাকতে চাই। এই ক্ষেত্রে, মূল বহুভুজগুলি যেমন উল্লেখ করা হয়েছে এবং কাঙ্ক্ষিত ফলাফলটি হ'ল পলিগন ((- 5 -5, -5 5,1 5,5 1,5 -5, -5 -5)) পলিজোন ((1 5, 1 7, 7 7, 7 1,5 1,1 5%))
ওলএস

1
সমস্যাটি তখন কঠিন হয় যখন উভয় বা উভয় বহু ক্ষেত্রেই বাজতে পারে (এটি কেবল সংযুক্ত নয়)।
শুক্র

উত্তর:


5

আমি একবার ভোরোনাই বহুভুজগুলির সাথে একটি পদ্ধতির ব্যবহার করেছি। আমি এটি হাতে হাতে করেছি এবং কেবলমাত্র আপনি কীভাবে এটি সুদৃ with়রূপে এটি করতে পারবেন তা সম্পর্কে আমার একটি অস্পষ্ট ধারণা রয়েছে তবে এটি কীভাবে চলে তা এখানে।

প্রথমত, আপনি প্রতিটি ওভারল্যাপিং বহুভুজগুলির শীর্ষকোষগুলি বের করে আনুন এবং সেগুলি থেকে ভেরোনাই বহুভুজ তৈরি করুন (ভেক্টর> জ্যামিতি সরঞ্জামগুলি> এক্সট্র্যাক্ট নোডস এবং ভেক্টর> জ্যামিতি সরঞ্জামগুলি> ভোনোনাই)। ফলস্বরূপ আকারের সাহায্যে আপনি এমন রেখাটি আঁকতে পারেন যা আপনার ওভারল্যাপিং অঞ্চলটিকে ঠিক দু'ভাগে বিভক্ত করে। (উজ্জ্বল সবুজ রেখা) voronoi

আপনি ওভারল্যাপিং বহুভুজ দিয়ে ভোরোনাই স্তরটি ক্লিপ করুন এবং মূল আকারগুলি থেকে ওভারল্যাপটি সরিয়ে ফেলুন এবং ক্লিপড ভোরোনাই বহুভুজটিকে আপনার মূল আকারগুলি দিয়ে পেস্ট করুন। নির্বাচন করুন, মার্জ করুন, ভয়েলি!

এখন, এটি কিছুটা অপরিশোধিত দেখাচ্ছে, কারণ খনিটি সত্যই সাধারণ আকার। তবে, এটি আপনি এটি ঘনত্বযুক্ত (ভেক্টর> জ্যামিতি সরঞ্জামসমূহ> ঘনত্বের জ্যামিতি) এবং প্রতিটি বিদ্যমান ভার্টেক্সের মধ্যে 20 টি নোডের মতো যুক্ত করেন, আপনি এটি পেতে পারেন:

densigy_voronoi

যা অনেক বেশি ভাল। আপনার যদি সংশোধন করতে কেবলমাত্র অল্প পরিমাণে আকার থাকে তবে সহজ।


এটা একটা ভালো বুদ্ধি. তবে উজ্জ্বল সবুজ রেখাটি কোথা থেকে এসেছে এবং আপনি কীভাবে জানেন যে এটি অঞ্চলটিকে দুটি সমান ভাগে বিভক্ত করেছে?
whuber

এই প্রক্রিয়াটি `সেক্টর অ্যাসেক্সট (ছেদ (জিমফ্র্যামটেক্সট ('পলিজোন ((5 -5, -5 5,5 5,5 -5, -5 -5)))', 4326), জিওম ফ্রমটেক্সট ('পলিজোন ( (1 1, 1 7, 7 7, 7 1, 1 1)) ', 4326)); অ্যাসেক্সট -------------------------------- পলিগন ((1 5,5 5,5 1,1 1,1 5) ) '?
ওলএস

এটি ভোরোনাই বহুভুজের স্বত্ব থেকে এসেছে। এটি পয়েন্টগুলির মধ্যে সমানভাবে বিভাজন করে between এজন্য আপনাকে আপনার বহুভুজ ঘন করতে হবে কারণ অন্যথায়, "মাঝারি" লাইনটি সীমানা অনুসরণ করে না। উজ্জ্বল রেখার জন্য, আমি মাঝখানে কোথায় তা চিত্রিত করার জন্য এটি ম্যানুয়ালি আঁকছি ... পোস্টজিআইএস কমান্ড হিসাবে (আমি পোস্টজিআইএস-এ একজন নবাগত), আমি মনে করি এটি কেবল ছেদকৃত অঞ্চলটি বেছে নেবে, এটি ভাগ করবে না।
fgcartographichix

1
এটি বলার পরেও আমি বলিনি যে এটি সমান অংশ হবে। এই পদ্ধতিটি নদীর কেন্দ্ররেখা সন্ধান করতে ব্যবহৃত হয়। আপনার যদি নদীর কোন উপসাগর থাকে তবে মাঝের লাইনটি তার দিকে টানবে। তবে এটি এটি "কেন্দ্রিক" তৈরি করে প্রবেশ করবে না enter
fgcartographichix
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.