ฉันมีจัตุรมุข และรูปทรงหลายหน้าถูก จำกัด เช่นนั้นจะแบ่งปันจุดยอดทั้งหมดกับเสมอ ฉันต้องการตรวจสอบว่าอยู่ภายในหรือไม่p t p t p
ฉันต้องการที่จะเพิ่มรายละเอียดในการแก้ไขปัญหาในกรณีที่อาจนำไปสู่การแก้ปัญหา:เป็นDelaunayจัตุรมุขและใบหน้าของเป็นรูปสามเหลี่ยมและขอ Delaunayทั้งที่เกี่ยวกับจุดของพีจัตุรมุขเป็นDelaunayถ้าcircumsphereของจุดของมันไม่มีจุดสุดยอดอื่น ๆ ภายในมัน ใบหน้าเป็นอย่างยิ่ง Delaunayถ้ามี circumsphere ที่มีจุดของใบหน้าที่อยู่บนพื้นผิวของมัน แต่ไม่มีจุดสุดยอดอื่น ๆบนหรือภายในมันp p
ตัวเลขต่อไปนี้แสดงปัญหาเดียวกันในพื้นที่ :
รูปหลายเหลี่ยมเดิม :
Delaunay การหาจุดยอดของ :
ผลของการทดสอบภายใน / ภายนอกสำหรับสามเหลี่ยม p (สามเหลี่ยมแรเงาอยู่ข้างใน และส่วนที่เหลืออยู่ด้านนอก ):
ผลลัพธ์ที่ต้องการ (การตัดแต่งนอกรูปสามเหลี่ยม) :
ปัญหาเดิมของฉันอยู่ในพื้นที่ 3D เพื่อสามเหลี่ยมในข้างต้นตัวเลขแปล Tetrahedrons และรูปหลายเหลี่ยมแปลโดยพลรูปทรงหลายหน้าฉันพบสูตรบางส่วนของปัญหานี้แล้ว:p p
สูตร 1
ส่วนเดียวของที่สามารถจะอยู่นอกขอบและใบหน้าสามเหลี่ยม แต่โดยทั่วไปอาจมีอยู่ซึ่งมีขอบของทุกนอก 's บนพื้นผิวเพื่อผลัดปัญหานี้ก็อาจจะเป็นสูตรที่เป็นไปได้ การทดสอบไม่ว่าจะเป็นจัตุรมุขมีอยู่ใบหน้าซึ่งโกหกนอก ?p p t t p
สูตรที่ 2
ฉันมีมุมมองที่เป็นไปได้อีกทางสำหรับปัญหานี้ แต่ขาดความคิดที่เป็นทางการ:
เรขาคณิตถ้าอยู่ภายนอกมันจะติดอยู่บนพื้นผิวด้านนอกของเสมอ ดังนั้นหากเราสามารถคำนวณรูปทรง (อย่างไม่เป็นทางการขอบเขตด้านนอก) และเช่นนั้นและเป็นชุดของจุดยอดในตามลำดับแล้ว IFFอยู่ภายในหน้า p C V C V p V = V t ∪ V p V t , V p t , p C V = C V p t p
ผมอยากจะรู้ว่า:
- ฉันจะแก้ปัญหาสูตร 1หรือสูตร 2 ได้อย่างไร
- หรือมีวิธีการที่แตกต่างอย่างสิ้นเชิงในการแก้ปัญหานี้หรือไม่?
อัปเดต:
ตอนนี้ฉันทราบแล้วว่าปัญหานี้สามารถลดเป็นPoint inปัญหารูปทรงหลายเหลี่ยมได้ ตั้งแต่นอกจัตุรมุขจะมีอย่างน้อยหนึ่งหน้าซึ่งอยู่นอกดังนั้นจุดโดยพลการใด ๆ บนใบหน้า (ยกเว้นจุดของทั่วไป) มักจะอยู่นอกหน้าดังนั้นสำหรับแต่ละหน้าของฉันต้องใช้จุดโดยพลการและทดสอบว่าจุดนั้นอยู่นอกหรือไม่p p t p
จากจุดในรูปหลายเหลี่ยมบทความผมมารู้เกี่ยวกับเรย์หล่อขั้นตอนวิธีการและคดเคี้ยวอัลกอริทึมจำนวน เรย์หล่อไม่ได้เป็นตัวเลขที่มีเสถียรภาพสำหรับกรณีที่จุดโกหกบนพื้นผิวของพีแต่ความทนทานเชิงตัวเลขของอัลกอริทึมตัวเลข Winding ยังไม่ได้รับการแก้ไข
จากที่กล่าวข้างต้นปัญหาหลักของฉันในตอนนี้ดูเหมือนจะเป็น (โปรดแนะนำว่าควรถามว่าเป็นคำถามแยกต่างหาก):
มีอัลกอริธึมเชิงตัวเลขที่มีประสิทธิภาพสำหรับจุดในปัญหารูปหลายเหลี่ยมหรือไม่?