คำถามติดแท็ก computational-geometry

คำถามเกี่ยวกับการแก้ปัญหาเชิงอัลกอริทึมของปัญหาเรขาคณิตหรืออัลกอริทึมอื่น ๆ ที่ใช้ประโยชน์จากเรขาคณิต

6
การสร้างชุดค่าผสมจากชุดคู่โดยไม่มีการทำซ้ำองค์ประกอบ
ฉันมีชุดของคู่ แต่ละคู่เป็นรูปแบบ (x, y) เช่นว่า x, y [0,n)เป็นจำนวนเต็มจากช่วง ดังนั้นถ้า n คือ 4 ดังนั้นฉันมีคู่ต่อไปนี้: (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) ฉันมีคู่แล้ว ตอนนี้ฉันต้องสร้างชุดค่าผสมโดยใช้n/2คู่ที่ไม่มีจำนวนเต็มซ้ำ (กล่าวอีกอย่างหนึ่งว่าจำนวนเต็มแต่ละค่าปรากฏอย่างน้อยหนึ่งครั้งในชุดค่าผสมสุดท้าย) ต่อไปนี้เป็นตัวอย่างของชุดค่าผสมที่ถูกต้องและไม่ถูกต้องเพื่อความเข้าใจที่ดีขึ้น 1. (0,1)(1,2) [Invalid as 3 does not occur anywhere] 2. (0,2)(1,3) [Correct] 3. (1,3)(0,2) [Same as 2] มีคนแนะนำฉันถึงวิธีในการสร้างชุดค่าผสมที่เป็นไปได้ทั้งหมดเมื่อฉันมีคู่

1
จะบรรจุรูปหลายเหลี่ยมในรูปหลายเหลี่ยมอื่นได้อย่างไร
ฉันสั่งแผ่นหนังสองสามผืนซึ่งฉันต้องการสร้างลูกเล่นกลโดยเย็บขอบด้วยกัน ฉันใช้ของแข็งเพลโตโตเพื่อรูปร่างของลูกบอล ฉันสามารถสแกนแผ่นหนังและสร้างรูปหลายเหลี่ยมที่ใกล้เคียงกับรูปร่างของแผ่นหนัง (อย่างที่คุณรู้มันเป็นหนังสัตว์และมันไม่ได้เป็นรูปสี่เหลี่ยมผืนผ้า) ดังนั้นตอนนี้ฉันต้องการที่จะเพิ่มขนาดของลูกเล่นกล ในตัวอย่างของฉันรูปหลายเหลี่ยมเป็นรูปแบบปกติ แต่ฉันกำลังมองหาวิธีแก้ปัญหาด้วยรูปหลายเหลี่ยมอย่างง่าย ตัวประกอบสเกลที่ใหญ่ที่สุดที่ฉันสามารถใช้กับรูปหลายเหลี่ยมของฉันคืออะไรเพื่อให้พอดีกับแผ่นด้านใน ฉันพยายามลดขยะโดยใช้วัสดุให้ได้มากที่สุด เห็นได้ชัดว่าการตัดตาข่ายรูปทรงหลายเหลี่ยมเป็นรูปหลายเหลี่ยมแต่ละอันจะเพิ่มพื้นที่ของชุดค่าผสมที่เป็นไปได้ แต่ยังลดคุณภาพของรูปทรงเรขาคณิตสุดท้ายเนื่องจากมีการตัดเย็บที่เกี่ยวข้องมากขึ้นและมีข้อผิดพลาดสะสม แต่คำถามนี้ไม่ได้เกี่ยวกับการแจกแจงหลายวิธีในการตีแผ่รูปทรงหลายเหลี่ยม พวกเขาสามารถพิจารณาได้อย่างอิสระ รูปหลายเหลี่ยมจึงเป็นรูปหลายเหลี่ยมอย่างง่าย อย่างเป็นทางการ: การป้อนข้อมูล: PPP : รูปหลายเหลี่ยมแบบง่าย (เป้าหมาย) SSS : ชุดรูปหลายเหลี่ยมที่ฉันต้องการวาง GGG : กราฟของเหลี่ยมง่าย - แต่ละโหนดแสดงให้เห็นถึงรูปหลายเหลี่ยมที่เรียบง่ายในและมีขอบขอบหนึ่งระหว่างคู่ของรูปหลายเหลี่ยมแต่ละที่ใช้ขอบทั่วไป nnnSSS α > = 0 , β> = 0α>=0,β>=0\alpha >= 0, \beta >= 0 (การใช้วัสดุและการเชื่อมต่อ) เอาท์พุท: ปัจจัยขนาดฉff GHHH , กราฟย่อยของGGG : ตำแหน่งและมุมสำหรับแต่ละเหลี่ยมใน …

2
วิธีการคิดขั้นตอนวิธีการจัดเรียงหน้าต่าง (ปรับขนาดได้) บนหน้าจอเพื่อให้ครอบคลุมพื้นที่มากที่สุด
ฉันต้องการเขียนโปรแกรมง่าย ๆ ที่ยอมรับชุดของ windows (ความกว้าง + ความสูง) และความละเอียดหน้าจอและแสดงผลการจัดเรียงของหน้าต่างเหล่านั้นบนหน้าจอเพื่อให้ windows ใช้พื้นที่มากที่สุด ดังนั้นจึงเป็นไปได้ที่จะปรับขนาดหน้าต่างในขณะที่รักษา output size >= initial sizeและอัตราส่วนกว้างยาว ดังนั้นสำหรับหน้าต่างฉันต้องการขั้นตอนวิธีการที่จะกลับขอบเขตของความกว้างความสูง)( x , y , w ฉันd t h , h e ฉันg h t )ผมii( x , y, W ฉันdt h , h e i gh t )(x,y,width,height)(x, y, width, height) ฉันเชื่อว่านี่อาจเป็นรูปแบบของเครื่องเป้ 2D …

1
มีอัลกอริทึม O (n log n) สำหรับการทำให้เป็นเส้น 4D ง่ายขึ้นหรือไม่?
อัลกอริทึม Ramer-Douglas-Peuckerสำหรับสายเรียบง่ายมีกรณีที่แย่ที่สุดรันไทม์ สำหรับอินพุตสุ่มแบบกระจายที่เหมาะสมจะมีความซับซ้อนรันไทม์ใน 2D มีอัลกอริธึมอื่นที่มีความซับซ้อนของ runtime caseแย่ที่สุดซึ่งคำนวณผลลัพธ์แบบเดียวกับอัลกอริทึม Ramer-Douglas-Peucker เนื่องจากอัลกอริธึมเหล่านี้มีพื้นฐานมาจากโครงสร้างข้อมูล "path (convex) hull" จึงไม่ชัดเจนว่าจะสามารถใช้กับบรรทัด 4D ได้หรือไม่O(n2)O(n2)O(n^2)O(nlogn)O(nlog⁡n)O(n \log n)O(nlogn)O(nlog⁡n)O(n \log n) มีอัลกอริทึม (สุ่ม) ซึ่งมี (คาดว่า)รันไทม์ (เป็นอิสระจากอินพุต) สำหรับกรณีของเส้น 4D หรือไม่? คุณอาจถือว่าระยะทางแบบยุคลิดและความอดทนแบบสัมบูรณ์ทั่วโลกO(nlogn)O(nlog⁡n)O(n \log n)

3
มีคุกกี้จำนวนเท่าใดในกล่องคุกกี้ - ปูกระเบื้องดาว
กับเทศกาลวันหยุดที่กำลังจะมาฉันตัดสินใจที่จะทำให้บางดาวอบเชย นั่นเป็นเรื่องสนุก (และผลลัพธ์ที่ออกมาอร่อย) แต่ความเบื่อหน่ายภายในของฉันเมื่อฉันใส่ถาดดาวดวงแรกลงในกล่องและพวกมันจะไม่พอดีในชั้นเดียว: เกือบ! มีวิธีที่พวกเขาจะพอดีหรือไม่? เราจะปูกระเบื้องดาวได้ดีแค่ไหนกันล่ะ? ระบุว่านี่เป็นดาวหกแฉกปกติเราสามารถใช้การเอียงของรูปหกเหลี่ยมที่รู้จักกันดีในการประมาณเช่น: messed up หนึ่งไปที่มุมขวาบนขออภัย แต่นี่เป็นสิ่งที่ดีที่สุดเหรอ? มีที่ว่างมากมายระหว่างคำแนะนำ สำหรับการพิจารณานี้ให้เรา จำกัด ตัวเราไว้ที่กล่องสี่เหลี่ยมและดาวหกแฉกนั่นคือมีสามสิบองศา (หรือ ) ระหว่างคำแนะนำทุกอย่างและเพื่อนบ้านของมัน ดาวฤกษ์นั้นโดดเด่นด้วยรัศมีภายในและรัศมีรอบนอกr_o :π6π6\frac{\pi}{6}RผมRผมr_iRโอRโอr_o [ แหล่งที่มา ] โปรดทราบว่าเรามีรูปหกเหลี่ยมสำหรับและ hexagrams สำหรับr_o ฉันคิดว่ามันสมเหตุสมผลที่จะพิจารณาถึงความสุดยอดเหล่านี้ (สำหรับคุกกี้) และ จำกัด ตัวเราให้อยู่ในช่วงระหว่างนั่นคือBigr]Rผม= 3√2⋅ rโอRผม=32⋅Rโอr_i = \frac{\sqrt{3}}{2} \cdot r_oRผม= 13√⋅ rโอRผม=13⋅Rโอr_i = \frac{1}{\sqrt{3}} \cdot r_oRผมR0∈ [ 13√, 3√2]RผมR0∈[13,32]\frac{r_i}{r_0} \in \Bigl[\frac{1}{\sqrt{3}}, \frac{\sqrt{3}}{2}\Bigr] …

3
เส้นแบ่งคะแนนสองชุด
หากมีวิธีการระบุว่าจุดสองชุดสามารถคั่นด้วยเส้นได้หรือไม่? เรามีสองชุดของจุดAAAและBBBหากมีเส้นที่แยกAAAและBBBเช่นนั้นจุดทั้งหมดของAAAและเท่านั้นAAAที่ด้านหนึ่งของเส้นและจุดทั้งหมดของBBBและเพียงBBBด้านอื่น ๆ อัลกอริธึมที่ไร้เดียงสาที่สุดที่ฉันพบคือการสร้างรูปหลายเหลี่ยมนูนสำหรับAAAและBBBและทดสอบเพื่อหาจุดตัด ดูเวลาที่ความซับซ้อนของเวลาสำหรับสิ่งนี้ควรเป็นO(nlogh)O(nlog⁡h)O(n\log h)สำหรับการสร้างรูปหลายเหลี่ยมนูน จริงๆแล้วฉันไม่ได้คาดหวังการปรับปรุงใด ๆ ในเรื่องความซับซ้อนของเวลาฉันไม่แน่ใจว่ามันจะสามารถปรับปรุงได้เลย แต่อย่างน้อยก็ควรมีวิธีที่สวยงามกว่านี้ในการพิจารณาว่ามีเส้นดังกล่าวหรือไม่

3
วงกลมล้อมรอบสูงสุดของรัศมีที่กำหนด
ฉันพยายามหาวิธีแก้ไขปัญหาต่อไปนี้: ให้ชุดของจุดและรัศมีค้นหาจุดศูนย์กลางของวงกลมเช่นวงกลมที่มีจำนวนคะแนนสูงสุดจากชุด เวลาทำงานควรจะ2)SSSrrrO(n2)O(n2)O(n^2) ตอนแรกมันดูเหมือนจะเป็นสิ่งที่คล้ายกับปัญหาวงกลมล้อมรอบขนาดเล็กที่สุดที่สามารถแก้ไขได้ใน2) ความคิดคือการตั้งศูนย์โดยพลการและล้อมรอบทุกจุดของส ถัดไปทีละขั้นตอนแทนที่วงกลมเพื่อสัมผัสจุดซ้าย / ขวาสุดและลดขนาดวงกลมไปยังรัศมีที่กำหนดชัดเจนว่านี่จะไม่ทำงานO(n2)O(n2)O(n^2)SSS

2
อัลกอริทึมที่มีประสิทธิภาพสำหรับปัญหาการมองเห็นในแนวตั้ง
ในระหว่างที่คิดถึงปัญหาหนึ่งฉันรู้ว่าฉันต้องสร้างอัลกอริทึมที่มีประสิทธิภาพในการแก้ไขงานต่อไปนี้: ปัญหา:เราได้รับกล่องสี่เหลี่ยมสองมิติของด้านซึ่งด้านขนานกับแกน เราสามารถตรวจสอบมันผ่านด้านบน อย่างไรก็ตามยังมีส่วนแนวนอนแต่ละเซกเมนต์มีจำนวนเต็ม -coordinate ( ) และ -coordinates ( ) และเชื่อมต่อจุดและ (ดูที่ ภาพด้านล่าง)nnnmmmyyy0≤y≤n0≤y≤n0 \le y \le nxxx0≤x1&lt;x2≤n0≤x1&lt;x2≤n0 \le x_1 < x_2 \le n(x1,y)(x1,y)(x_1,y)(x2,y)(x2,y)(x_2,y) เราอยากทราบว่าแต่ละเซ็กเมนต์ที่ด้านบนของกล่องเราจะมองลึกเข้าไปในแนวตั้งได้อย่างไรถ้ามองผ่านเซ็กเมนต์นี้ อย่างเป็นทางการสำหรับx∈{0,…,n−1}x∈{0,…,n−1}x \in \{0,\dots,n-1\}เราต้องการหาmaxi: [x,x+1]⊆[x1,i,x2,i]yimaxi: [x,x+1]⊆[x1,i,x2,i]yi\max_{i:\ [x,x+1]\subseteq[x_{1,i},x_{2,i}]} y_iy_i ตัวอย่าง: รับn=9n=9n=9และm=7m=7m=7กลุ่มตั้งอยู่ในภาพด้านล่างผลที่ได้คือ(5,5,5,3,8,3,7,8,7)(5,5,5,3,8,3,7,8,7)(5, 5, 5, 3, 8, 3, 7, 8, 7)7) ดูว่าแสงที่ลึกสามารถเข้าไปในกล่องได้ โชคดีสำหรับเราทั้งnnnและmmmมีขนาดค่อนข้างเล็กและเราสามารถทำการคำนวณแบบออฟไลน์ได้ อัลกอริธึมที่ง่ายที่สุดในการแก้ปัญหานี้คือแรงเดรัจฉาน: สำหรับแต่ละเซกเมนต์เคลื่อนที่อาร์เรย์ทั้งหมดและอัพเดตในกรณีที่จำเป็น แต่ก็จะช่วยให้เราไม่ได้น่าประทับใจมากO(mn)O(mn)O(mn)(ล้านบาท) การปรับปรุงที่ดีมากคือการใช้แผนภูมิส่วนซึ่งสามารถเพิ่มค่าสูงสุดในส่วนในระหว่างการค้นหาและอ่านค่าสุดท้าย ผมจะไม่อธิบายมันต่อไป แต่เราจะเห็นว่าเวลาซับซ้อนคือn)O((m+n)logn)O((m+n)log⁡n)O((m+n) …

1
การตัดกิโยตินกับการตัดทั่วไป
ปัญหาการตัดคือปัญหาที่ควรตัดวัตถุขนาดใหญ่บางชิ้นเป็นชิ้นเล็ก ๆ ตัวอย่างเช่นสมมติว่าคุณมีโรงงานที่ทำงานร่วมกับแผ่นใหญ่แก้วดิบของความกว้างและระยะเวลาในLมีผู้ซื้อหลายรายแต่ละรายต้องการแผ่นกระจกขนาดเล็กจำนวนมาก ผู้ซื้อต้องการแผ่นความยาวและความกว้างw_iเป้าหมายของคุณคือการตัดแผ่นเล็ก ๆ จากแผ่นใหญ่ให้มีการใช้งานอย่างเต็มประสิทธิภาพและลดของเสียให้เหลือน้อยที่สุด (นอกจากนี้ยังมีปัญหาการตัดและการบรรจุประเภทอื่นด้วย )WWWLLLผมผมiล.ผมล.ผมl_iWผมWผมw_i ข้อ จำกัด ทั่วไปอย่างหนึ่งของปัญหาการตัดคือการตัดต้องใช้การตัดกิโยตินนั่นคือแต่ละสี่เหลี่ยมที่มีอยู่สามารถตัดได้เพียงสองสี่เหลี่ยมเล็ก ๆ เท่านั้น มันเป็นไปไม่ได้ที่จะสร้างรูปตัว L และอื่น ๆ เห็นได้ชัดว่าพื้นที่ใช้งานสูงสุดที่มีการตัดกิโยตินอาจเล็กกว่าพื้นที่ใช้งานสูงสุดโดยไม่มีข้อ จำกัด คำถามของฉันคือ: มีขอบเขตบนและล่างในอัตราส่วนระหว่างการตัดกิโยตินที่ดีที่สุดและการตัดทั่วไปที่ดีที่สุดหรือไม่? งานที่เกี่ยวข้อง: Song et al. (2009)อธิบายขั้นตอนวิธีการที่ใช้เป็นชนิดที่มีข้อ จำกัด ของการตัดกระดาษ - การตัดกระดาษละสองครั้ง พวกเขาพิสูจน์โดยใช้ข้อ จำกัด ทางเรขาคณิตที่อัตราส่วนระหว่างสูงสุดตัดกระดาษละสองครั้งเพื่อตัดกระดาษสูงสุดที่มีขอบเขตโดย{7} ฉันกำลังมองหาผลลัพธ์ที่เปรียบเทียบได้เกี่ยวกับอัตราส่วนระหว่างการตัดกิโยตินสูงสุดต่อการตัดทั่วไปสูงสุด6767\frac{6}{7}

1
กำลังแรงเดรัจฉาน Delaunay triangulation อัลกอริธึมที่ซับซ้อน
ในหนังสือ"เรขาคณิตการคำนวณ: อัลกอริธึมและการประยุกต์ใช้"โดย Mark de Berg และคณะมีอัลกอริทึมแรงเดรัจฉานที่ง่ายมากสำหรับการคำนวณสามเหลี่ยมเดอลูเนย์ อัลกอริทึมใช้ความคิดของขอบผิดกฎหมาย - ขอบที่อาจไม่ปรากฏในสมการ Delaunay ที่ถูกต้องและต้องถูกแทนที่ด้วยขอบอื่น ๆ ในแต่ละขั้นตอนอัลกอริทึมจะค้นหาขอบที่ผิดกฎหมายเหล่านี้และทำการกระจัดที่ต้องการ (เรียกว่าการพลิกขอบ ) จนกระทั่งไม่มีขอบที่ผิดกฎหมาย อัลกอริทึมการบีบอัดทางกฎหมาย ( TTT ) อินพุต บางสมTTTของจุดที่ตั้งPเอาท์พุต สมการทางกฎหมายของPPPP PPP ในขณะที่ มีขอบที่ผิดกฎหมายp i p j doTTTpipjpipjp_ip_j \quadให้และP ฉันพีเจพีลิตรเป็นรูปสามเหลี่ยมสองรูปที่อยู่ติดกับหน้าฉันพีเจpipjpkpipjpkp_i p_j p_kpipjplpipjplp_i p_j p_lpipjpipjp_ip_j \quadลบจากTและเพิ่มp k p lแทน ผลตอบแทน Tpipjpipjp_ip_jTTTpkplpkplp_kp_l TTT ฉันได้ยินมาว่าอัลกอริทึมนี้ทำงานในเวลาในกรณีที่แย่ที่สุด; อย่างไรก็ตามมันไม่ชัดเจนสำหรับฉันว่าข้อความนี้ถูกต้องหรือไม่ ถ้าใช่จะพิสูจน์ได้อย่างไรว่าขอบเขตบนนี้O(n2)O(n2)O(n^2)

1
ฉันจะทดสอบได้อย่างไรว่ารูปหลายเหลี่ยมนั้นมีโทนสีเดียวกับเส้นที่กำหนดเองหรือไม่?
คำที่เกี่ยวข้อง : รูปหลายเหลี่ยมในเครื่องบินที่เรียกว่า monotone ด้วยความเคารพเป็นเส้นตรงถ้าทุกมุมฉากเป็นแอลPPPLLLLLLตัดกับPPPมากที่สุดสองครั้ง ให้รูปหลายเหลี่ยมPPPเป็นไปได้ไหมที่จะตรวจสอบว่ามีเส้นใด ๆ หรือLLLไม่ที่รูปหลายเหลี่ยมPPPนั้นเป็นรูปหลายเหลี่ยมที่มีสีเดียวกับLLL ? ถ้าใช่เป็นอย่างไร ก่อนหน้านี้ผมถามคำถามที่เกี่ยวข้อง (ที่ผมถามวิธีการตรวจสอบถ้ารูปหลายเหลี่ยมเป็นเสียงเดียวที่เกี่ยวกับเส้นโดยเฉพาะ) แต่ตอนนี้ฉันสนใจในกรณีที่LLLจะไม่ได้กำหนดหรือระบุไว้ล่วงหน้า

2
รันไทม์ของอัลกอริทึมการโลภ
|P|=n|P|=n|P| = nkkkkkknnnC={c1,c2,…,ck}C={c1,c2,…,ck}C = \{ c_1,c_2,\ldots,c_k\}kkkcost(C)=maximinjD(pi,cj)cost(C)=maximinjD(pi,cj)\text{cost}(C) = \max_i \min_j D(p_i, c_j)DDDหมายถึงระยะทางยุคลิดระหว่างจุดเชื่อมต่ออินพุตและเป็นจุดศูนย์c_jกำหนดแต่ละจุดตัวเองไปยังศูนย์คลัสเตอร์ที่อยู่ใกล้จุดการจัดกลุ่มลงในกลุ่มที่แตกต่างกันpipip_icjcjc_jkkk ปัญหานี้เป็นที่รู้จักกันในชื่อปัญหา (ไม่ต่อเนื่อง)และ -hard มันจะแสดงให้เห็นกับการลดลงจากที่ปัญหาที่สมบูรณ์มีอำนาจเหนือชุดว่าถ้ามีอยู่ -approximation อัลกอริทึมสำหรับปัญหากับแล้ว{}kkkNPNP\text{NP}NPNP\text{NP}ρρ\rhoρ&lt;2ρ&lt;2\rho < 2P=NPP=NP\text{P} = \text{NP} อัลกอริทึม -approximation ที่ดีที่สุดนั้นง่ายและใช้งานง่าย คนแรกเลือกจุดโดยพลการและวางไว้ในเซตของศูนย์คลัสเตอร์ จากนั้นหนึ่งจะเลือกศูนย์คลัสเตอร์ถัดไปซึ่งอยู่ไกลที่สุดจากศูนย์คลัสเตอร์อื่นทั้งหมด ดังนั้นในขณะที่เราซ้ำ ๆ หาจุดที่ระยะทางที่ขยายและเพิ่มเข้าไปในCครั้งเดียวเราเสร็จแล้ว222p∈Pp∈Pp \in PCCC|C|&lt;k|C|&lt;k|C| < kj∈Pj∈Pj \in PD(j,C)D(j,C)D(j,C)CCC|C|=k|C|=k|C| = k มันไม่ยากที่จะเห็นว่าดีที่สุดโลภขั้นตอนวิธีการทำงานในO(nk)O(nk)O(nk)เวลา นี่ทำให้เกิดคำถาม: เราสามารถบรรลุเวลาo(nk)o(nk)o(nk)หรือไม่ เราจะทำยังไงดี

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

1
ทดสอบว่าจัตุรมุขอยู่ข้างในรูปทรงหลายเหลี่ยมหรือไม่
ฉันมีจัตุรมุข และรูปทรงหลายหน้าถูก จำกัด เช่นนั้นจะแบ่งปันจุดยอดทั้งหมดกับเสมอ ฉันต้องการตรวจสอบว่าอยู่ภายในหรือไม่p t p t pเสื้อเสื้อt พีพีpเสื้อเสื้อtพีพีpเสื้อเสื้อt พีพีp ฉันต้องการที่จะเพิ่มรายละเอียดในการแก้ไขปัญหาในกรณีที่อาจนำไปสู่การแก้ปัญหา:เป็นDelaunayจัตุรมุขและใบหน้าของเป็นรูปสามเหลี่ยมและขอ Delaunayทั้งที่เกี่ยวกับจุดของพีจัตุรมุขเป็นDelaunayถ้าcircumsphereของจุดของมันไม่มีจุดสุดยอดอื่น ๆ ภายในมัน ใบหน้าเป็นอย่างยิ่ง Delaunayถ้ามี circumsphere ที่มีจุดของใบหน้าที่อยู่บนพื้นผิวของมัน แต่ไม่มีจุดสุดยอดอื่น ๆบนหรือภายในมันp pเสื้อเสื้อtพีพีpพีพีp ตัวเลขต่อไปนี้แสดงปัญหาเดียวกันในพื้นที่ : 2 D2D2D รูปหลายเหลี่ยมเดิมพีพีp : Delaunay การหาจุดยอดของพีพีp : ผลของการทดสอบภายใน / ภายนอกสำหรับสามเหลี่ยมเสื้อเสื้อt p (สามเหลี่ยมแรเงาอยู่ข้างใน และส่วนที่เหลืออยู่ด้านนอก ):พีพีp ผลลัพธ์ที่ต้องการ (การตัดแต่งนอกรูปสามเหลี่ยม) : ปัญหาเดิมของฉันอยู่ในพื้นที่ 3D เพื่อสามเหลี่ยมในข้างต้นตัวเลขแปล Tetrahedrons และรูปหลายเหลี่ยมแปลโดยพลรูปทรงหลายหน้าฉันพบสูตรบางส่วนของปัญหานี้แล้ว:p pเสื้อเสื้อtพีพีpพีพีp สูตร 1 ส่วนเดียวของที่สามารถจะอยู่นอกขอบและใบหน้าสามเหลี่ยม …

2
Circle Circle Intersection ด้วย Sweep Line Algorithm
แต่น่าเสียดายที่ผมยังไม่ได้ดังนั้นที่แข็งแกร่งในการทำความเข้าใจกวาดสายอัลกอริทึม เอกสารและตำราเรียนทั้งหมดในหัวข้อได้อ่านไปแล้วอย่างไรก็ตามความเข้าใจยังห่างไกล เพื่อให้ชัดเจนฉันพยายามที่จะแก้ปัญหาการออกกำลังกายให้มากที่สุดเท่าที่จะทำได้ แต่งานที่สำคัญและน่าสนใจจริงๆยังคงเป็นสิ่งที่ท้าทายสำหรับฉัน แบบฝึกหัดต่อไปนี้ที่ฉันพบในบันทึกการบรรยายของการแยกส่วนบรรทัดโดยเจฟฟ์เอริกผู้มีอำนาจทุกอย่าง การออกกำลังกาย 2.อธิบายและวิเคราะห์อัลกอริทึม sweepline การกำหนดให้วงกลมในระนาบไม่ว่าจะเป็นที่สองตัดในO ( n log n )เวลา แต่ละวงกลมเอ็ดระบุไว้โดยศูนย์และรัศมีของมันเพื่อให้การป้อนข้อมูลที่ประกอบด้วยสามอาร์เรย์X [ 1 .. n ] , Y [ 1 .. n ]และR [ 1 .. n ] ใช้ความระมัดระวังอย่างถูกต้องใช้ดั้งเดิมในระดับต่ำnnnO(nlogn)O(nlog⁡n)O(n \log n)X[1..n],Y[1..n]X[1..n],Y[1..n]X[1.. n], Y [1.. n]R[1..n]R[1..n]R[1.. n] ลองทำสิ่งที่ซับซ้อนให้ง่ายขึ้น เรารู้อะไรเกี่ยวกับจุดตัดของวงกลม อะนาล็อกที่สามารถพบได้ด้วยการตัดกันของเส้น เส้นสองเส้นอาจตัดกันหากพวกมันอยู่ติดกันซึ่งสองวงควรมีคุณสมบัติใดเพื่อตัดกัน ให้เป็นระยะทางระหว่างศูนย์กลางของวงกลมr 0และr 1ศูนย์กลางของวงกลม พิจารณาบางกรณี:dddr0r0r_{0}r1r1r_{1} กรณีที่ 1: …

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