การแยกรูปทรงหลายเหลี่ยมที่ประมวลผลล่วงหน้าและระนาบ


14

ฉันมีปัญหาร้ายแรงในการทำความเข้าใจขั้นตอนเดียวในกระดาษของโดคินและเคิร์กแพททริกเกี่ยวกับการแยกโพลีเฮดรา ฉันพยายามที่จะเข้าใจรุ่นนี้: http://www.cs.princeton.edu/~dpd/Papers/SCG-09-invited/old%20papers/DPD+Kirk.pdf

มันระบุว่าหลังจากที่เรารู้ว่าการแยกที่ดีที่สุดของPiและS , ตระหนักโดยriและsiเราสามารถหาสิ่งที่ดีที่สุดของการแยกPi1และSในO(1)ขั้นตอน วิธีนี้ทำได้ในวิธีต่อไปนี้ เรานำระนาบขนานกับSถึงriแล้วตัดPi1ออกเป็นสองส่วนด้วยกัน อีกด้านหนึ่งจุดที่ใกล้ที่สุดกับSคือriและที่อื่น ๆ เรามีรูปทรงหลายเหลี่ยม `` ประถม '' ว่าเราสามารถตรวจสอบในO(1)เวลา ปัญหาของฉันคือ - เราจะหารูปทรงหลายเหลี่ยมพื้นฐานนี้ได้อย่างไร โปรดทราบว่าระดับriในPi1อาจไม่ถูก จำกัด

ใน pdf เพื่อพิสูจน์ Thm 5.1 จากหน้า 9 พวกเขาใช้ Thm 3.1 จากหน้า 4 ซึ่งทำให้ยากต่อการติดตามทั้งหมด


ฉันสงสัยจริงๆว่าถ้าฉันเสนอเงินรางวัลในคำอธิบายที่ฉันพูดว่าคำตอบของ JeffE ไม่ชัดเจนสำหรับฉันและในความคิดเห็นต่อคำตอบของเขาฉันระบุปัญหาของฉันด้วยแล้วทำไมผู้คนยังตอบคำถามของเขาต่อไปโดยไม่ตอบ คำถาม? นอกจากนี้ฉันสงสัยว่าคำตอบของเขาจะได้รับรางวัลโดยอัตโนมัติหรือไม่
domotorp

upvote บ่งชี้ว่าคำตอบนั้นให้บางสิ่งที่มีค่าซึ่งมันทำ! ไม่ใช่สิ่งที่คุณต้องการ คำตอบที่คุณต้องการดูเหมือนจะเป็นการปรับแต่งข้อเสนอแนะทั่วไป ทำไมต้องกังวลเกี่ยวกับ upvotes ของคนอื่นด้วย?
Suresh Venkat

คำตอบ:


6

ตอบปรับปรุงและเขียนใหม่ตั้งแต่ต้น

คุณจะได้รับ polytope Pเรียกใช้ลำดับชั้น Dobkin-Kirkpatric บนพีนี้จะช่วยให้คุณลำดับของ polytops P 1P 2... P k = P อนุญาตสมมติว่าคุณต้องการที่จะหาจุดที่ใกล้ที่สุดบนPไปยังจุดแบบสอบถามQ อัลกอริทึมพื้นฐานเริ่มต้นด้วยการคำนวณจุดที่ใกล้ที่สุดc 1ถึงqบนP 1จากนั้นจะพิจารณาพื้นที่ใหม่ทั้งหมด (เต็นท์) ที่อยู่ติดกับc 1ค้นหาจุดที่ใกล้ที่สุดc 2ถึงqPP1P2Pk=PPqc1qP1c1c2qในภูมิภาคใหม่ ๆ เหล่านี้และดำเนินการต่อในแบบนี้จนกว่าเราจะเข้าถึง kPk

ทีนี้ถ้าอยู่บนขอบแล้วก็ไม่มีปัญหา - มีเพียงสองเต็นท์เท่านั้นที่อาจแตะที่ขอบนี้หรือมีเพียงหนึ่งในนั้นเท่านั้นที่สามารถครอบคลุมขอบ ดังนั้นการอัพเดตc i +ciจาก C iในกรณีนี้ต้องใช้เวลาคงที่ci+1Ci

ดังนั้นปัญหาคือเมื่ออยู่บนจุดสูงสุดของระดับสูงเพราะจากนั้นจำนวนเต็นท์ใหม่ที่อยู่ติดกันเมื่อย้ายไปที่P i + 1อาจมีขนาดใหญ่ เพื่อเอาชนะสิ่งนี้เราจะจำลองจุดสุดยอดขนาดใหญ่เพื่อรวบรวมจุดยอดที่มีระดับต่ำ โดยเฉพาะอย่างยิ่งในแต่ละขั้นตอนถ้าฉันอยู่บนจุดสุดยอดวีเราจะต้องจำไว้ติดต่อกันสองขอบe ฉัน , E ' ฉันติดกับวีเช่นว่าจุดที่ใกล้ที่สุดที่จะถามในP ฉัน+ 1ciPi+1civei,eivqPi+1อยู่บนเต็นท์ที่อยู่ติดกันหรือครอบคลุมหนึ่งในสองขอบนี้ เช่นนี้เราสามารถทำการคำนวณที่จำเป็นในเวลาคงที่

ดังนั้นเราจึงยังคงมีปัญหาวิธีติดตามขอบทั้งสองนี้ในขณะที่เราปีนขึ้นไป

ต้องการทำเช่นนั้น precompute ทุกจุดสุดยอดของPทิศทางสัมผัสทีวี ให้Q i ( v )เป็นรูปหลายเหลี่ยมนูนที่เป็นรูปยอดของvสำหรับรูปหลายเหลี่ยมP i (โดยระนาบที่กำหนดรูปยอดมีปกติในทิศทางของt v ) แนวคิดQ 1 ( วี) , Q 2 ( วี) , . . , Q k ( v )vPtvQi(v)vPitvQ1(v),Q2(v),...,Qk(v)ทำงานเหมือนลำดับชั้น 2d DK หากจุดที่ใกล้ที่สุดในเพื่อ Qโกหกบนจุดสุดยอด Wแล้วตรงนี้เพื่อ โวลต์และขอบที่อยู่ติดกันอีใน P ฉันที่ขอบอีปริภูมิเครื่องบินของรูปจุดสุดยอดที่W หากจุดที่ใกล้ที่สุดบน Q i ( v )ถึง qอยู่บน edge e คุณก็จะจำขอบสองอันที่อยู่ติดกันของ P iที่กำหนดจุดยอดทั้งสองของ e (ที่นี่Qi(v)qwvePiewQi(v)qePieเป็นของ Qe )Qi(v)

และตอนนี้เราก็ทำ ... แน่นอนถ้าอยู่ในQ i + 1 ( v )เราก็สามารถอัปเดตได้ในเวลาคงที่ (เนื่องจากนี่เป็นเพียงลำดับชั้น 2d DK) ถ้าในมืออื่น ๆฉัน+ 1จะไม่มีอีกต่อไปในQ ฉัน+ 1 ( วี)จากนั้นจะต้องอยู่ในเต็นท์ใหม่ที่อยู่ติดหรือครอบคลุมจุดก่อนหน้านี้ฉัน ไม่ว่าในกรณีใดเราสามารถอัปเดตได้ในเวลาคงที่ci+1Qi+1(v)ci+1Qi+1(v)ci


อัปเดตคำตอบ ดูว่ามันสมเหตุสมผลหรือไม่ในขณะนี้ นี่คือวิธีที่ฉันคิดเกี่ยวกับโครงสร้างข้อมูลนี้ มันอาจไม่มีความสัมพันธ์กับสิ่งที่อยู่ในกระดาษ
Sariel Har-Peled

ฉันเข้าใจแล้วขอบคุณ! ดังนั้นเคล็ดลับคือเราเลือกทิศทางแทนเจนต์ในตอนเริ่มต้นและไม่เปลี่ยนแปลงตลอดเวลา! ฉันได้ลบความคิดเห็นก่อนหน้าของฉันที่เกี่ยวข้องกับคำตอบเก่าของคุณ ขอบคุณอีกครั้ง!
domotorp

ใช่. ยินดีที่ได้ช่วย!
Sariel Har-Peled

8

ทฤษฎีบท 3.1 กำหนดให้การแสดงลำดับชั้นของคือมีขนาดกะทัดรัด ข้อกำหนดประการหนึ่งสำหรับความกะทัดรัดคือระดับของr iในP i - 1นั้นถูก จำกัด ด้วยค่าคงที่ ดูที่ด้านล่างของหน้า 3PriPi1

คำจำกัดความและการสร้างลำดับชั้นของ Dobkin-Kirkpatrick นั้นมีความชัดเจนมากขึ้นในบทความก่อนหน้านี้ (การอ้างอิง [9,10,11] ในเอกสารที่คุณกำลังอ่าน) ฉันขอแนะนำให้อ่านก่อน


ฉันคิดว่าพวกเขารับประกันได้ว่าระดับของจุดยอดในนั้นมีขอบเขต ฉันไม่เห็นว่าคุณจะแน่ใจได้อย่างไรว่าระดับr ฉันถูก จำกัด ถ้าเช่นคุณมีรูปทรงหลายเหลี่ยมที่จุดยอดสองจุดเชื่อมต่อกับจุดสุดยอดทุกจุดคุณจะเริ่มได้อย่างไร Pi1Piri
domotorp

1
(. ในความเป็นจริงมีชุดย่อยอิสระจากจุดศึกษาระดับปริญญา-4) กับหนึ่งในจุดอื่น ๆ ซึ่งทุกคนมีการศึกษาระดับปริญญา 4. จุดเป็นจุดสุดยอดของP ฉัน- 1แต่ไม่ได้เป็นจุดสุดยอดของPฉัน riPi1Pi
Jeffε

ดังนั้นจึงมีความเข้าใจผิด ผมคิดว่าเป็นจุดสุดยอดของP ฉันเช่นกันในขั้นตอนวิธีการที่ผมได้อธิบายสะดุดตาที่หนึ่งที่อยู่ใกล้S ฉันผิดหรือเปล่า? riPiS
domotorp

dd/2+3

@Sariel: ฉันคิดเหมือนกัน แต่ทำไมกระบวนการถึงจบ โปรดสังเกตว่าเมื่อเราลบจุดสุดยอดแล้วเพื่อนบ้านของมันอาจไม่ได้เป็นใบหน้าดังนั้นเราอาจต้องเพิ่มขอบใหม่อันที่จริงแล้วเราอาจต้องเพิ่มระดับของจุดสุดยอด
domotorp

1

ในกรณีที่ใครบางคนยังคงสนใจคำถาม: อุปสรรค์ในคำอธิบาย Dobkin Kirpatrick ก็ชี้ให้เห็นใน Barba และ Langerman ของ Optimal detection of intersections between convex polyhedra.

พวกเขาสังเกตในกระดาษ (รุ่น SODA 2015 ไม่ใช่ arxiv) ที่เรขาคณิตการคำนวณของ O'Rourke ใน Cตอนที่7 มีรายละเอียดเกี่ยวกับวิธีแก้ปัญหา (ซึ่งเป็นคำตอบของ Sariel) กระดาษโซดายังแนะนำวิธีการแก้ปัญหาทางเลือก; กำหนดตัวแปรของลำดับชั้น DK ที่แต่ละจุดสุดยอดมีขอบเขต จำกัด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.