ฉันมีรูปหลายเหลี่ยม (บางครั้งนูน แต่มักเว้า) และเป็นวงกลมที่มีรัศมีแตกต่างกัน ฉันจะทราบได้อย่างไรว่าวงกลมตัดกันหรือทับซ้อนกับรูปหลายเหลี่ยม?
ฉันสามารถแบ่งรูปหลายเหลี่ยมเว้าเป็นชิ้นส่วนนูน จะช่วยได้ไหม
ฉันมีรูปหลายเหลี่ยม (บางครั้งนูน แต่มักเว้า) และเป็นวงกลมที่มีรัศมีแตกต่างกัน ฉันจะทราบได้อย่างไรว่าวงกลมตัดกันหรือทับซ้อนกับรูปหลายเหลี่ยม?
ฉันสามารถแบ่งรูปหลายเหลี่ยมเว้าเป็นชิ้นส่วนนูน จะช่วยได้ไหม
คำตอบ:
มีปัญหานี้สองกรณี แรกคือทางแยกและที่สองที่ทับซ้อนกัน (บรรจุ)
แรก (จุดตัด / รูปหลายเหลี่ยมภายในวงกลม):
ค้นหาจุดที่ใกล้เคียงที่สุดบนขอบของรูปหลายเหลี่ยมทุกจุดจนถึงศูนย์กลางของวงกลม หากระยะห่างระหว่างจุดที่ใกล้ที่สุดไปยังศูนย์กลางน้อยกว่ารัศมีคุณมีจุดตัดหรือทับซ้อนกัน
ที่สอง (วงกลมมีทั้งรูปหลายเหลี่ยม): ยิงรังสีจากจุดศูนย์กลางวงกลมไปทางขวา (หรือซ้าย / ขึ้น / ลง) และนับเรย์ / ส่วน (ขอบรูปหลายเหลี่ยม) หากการนับทางแยกเป็นวงกลมแม้จะอยู่นอกรูปหลายเหลี่ยม ถ้ามันเป็นวงกลมแปลก ๆ อยู่ข้างใน
ฉันจะแบ่งปัน picter จากการบรรยายสำหรับกรณีนี้:
และดูแลกรณีที่เป็นเอกเทศ
หวังว่าจะช่วยได้
แก้ไข: ฉันคิดว่ามันยุติธรรมที่จะเพิ่มเครดิตในภาพ ผู้แต่งคือ Petr Felkel ผู้ช่วยศาสตราจารย์ที่ Czech Technical University ในปราก
ขั้นตอนแรกอย่างที่คุณคิดคือการแบ่งรูปหลายเหลี่ยมเว้าออกเป็นหลายส่วน นี่คือเหตุผลที่คุณจะใช้ทฤษฎีบทแกนแยกซึ่งทำงานได้เฉพาะกับรูปหลายเหลี่ยมนูน
SAT ต่อ se ใช้งานได้กับสองรูปหลายเหลี่ยมนูนเท่านั้น "แกนแยก" ในชื่ออ้างถึงแกนตั้งฉากกับขอบของรูปหลายเหลี่ยม แวดวงน่าเสียดายที่มีจำนวนไม่ จำกัด อย่างไรก็ตามมันกลับกลายเป็นว่ามีวิธีที่ง่ายมากในการค้นหาว่าแกนใดที่เกี่ยวข้องกันโดยดูจากสิ่งที่โครงการออกไปข้างนอกเพื่อตัดจุดยอดของรูปหลายเหลี่ยม
แทนที่จะไปกว่าขั้นตอนวิธีการทั้งหมดที่นี่ Metanet ซอฟแวร์ (ผู้ผลิตของ N / N +) มีการกวดวิชาที่ดีในการตรวจสอบการชนโดยใช้ SATที่ส่วนที่สามซึ่งครอบคลุม SAT เมื่อหนึ่งของวัตถุที่เป็นวงกลม
นี่คือสิ่งที่ฉันทำ