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

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

2
วิธีใดที่เหมาะสำหรับการจัดเก็บวัตถุทรงเรขาคณิตขนาดใหญ่ในควอดทรี
เมื่อวางวัตถุเรขาคณิตใน quadtree (หรือ octree) คุณสามารถวางวัตถุที่มีขนาดใหญ่กว่าโหนดเดี่ยวได้หลายวิธี: วางการอ้างอิงของวัตถุในทุก ๆ ใบไม้ที่มันมีอยู่ วางการอ้างอิงของวัตถุในโหนดที่ลึกที่สุดซึ่งมันมีอยู่อย่างสมบูรณ์ ทั้ง # 1 และ # 2 ตัวอย่างเช่น: ในภาพนี้คุณสามารถวางวงกลมในโหนดใบไม้ทั้งสี่ (วิธี # 1) หรือในเพียงแค่โหนดรูท (วิธี # 2) หรือทั้งสองอย่าง (วิธี # 3) สำหรับวัตถุประสงค์ในการสอบถามควอดทรีวิธีการใดเป็นเรื่องธรรมดามากขึ้นและทำไม?

6
การหาค่า XOR สูงสุดของตัวเลขสองตัวในช่วงเวลาหนึ่ง: เราจะทำได้ดีกว่าสมการกำลังสองหรือไม่?
สมมติว่าเรากำลังได้รับสองหมายเลขและและที่เราต้องการที่จะหาสำหรับL \ le i, \, J \ le Rlllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r อัลกอริทึมnaïveเพียงตรวจสอบคู่ที่เป็นไปได้ทั้งหมด เช่นในทับทิมเรามี: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ j end end end max end ฉันรู้สึกว่าเราสามารถทำได้ดีกว่าสมการกำลังสอง มีอัลกอริทึมที่ดีกว่าสำหรับปัญหานี้หรือไม่?

1
ปัญหาความครอบคลุม (ตัวส่งและตัวรับ)
ฉันพยายามที่จะแก้ปัญหาความคุ้มครองต่อไปนี้ มีตัวส่งสัญญาณพร้อมพื้นที่ครอบคลุม 1 กม. และตัวรับสัญญาณตัดสินใจในที่ตัวรับสัญญาณทั้งหมดได้รับการคุ้มครองโดยตัวส่งสัญญาณใด ๆ ผู้เปิดเผยและเครื่องส่งสัญญาณทั้งหมดจะถูกแทนด้วยพิกัดและของพวกเขาnnnnnnO(nlogn)O(nlog⁡n)O(n\log n)xxxyyy วิธีการแก้ปัญหาที่ทันสมัยที่สุดที่ฉันจะมาพร้อมกับใช้เวลาlog) สำหรับตัวรับสัญญาณทุกตัวเรียงลำดับตัวส่งทั้งหมดตามระยะทางถึงตัวรับสัญญาณปัจจุบันจากนั้นนำตัวส่งสัญญาณด้วยระยะทางที่สั้นที่สุดและระยะทางที่สั้นที่สุดนี้ควรอยู่ภายใน 0.5 กม.O(n2logn)O(n2log⁡n)O(n^2\log n) แต่วิธีการที่มีลักษณะไร้เดียงสาชอบมากดีขึ้นในเวลาซับซ้อน2) เพียงคำนวณระยะทางทั้งหมดระหว่างเครื่องส่งสัญญาณและตัวรับสัญญาณทุกคู่O(n2)O(n2)O(n^2) ฉันไม่แน่ใจว่าฉันสามารถใช้อัลกอริธึมการค้นหาระยะในปัญหานี้ได้ไหม ตัวอย่างเช่น kd-trees ทำให้เราสามารถค้นหาช่วงดังกล่าวได้ แต่ฉันไม่เคยเห็นตัวอย่างและฉันไม่แน่ใจว่ามีการค้นหาแบบวงกลมสำหรับแวดวงหรือไม่ ความซับซ้อนที่ได้รับถือว่าวิธีการแก้ปัญหาควรคล้ายกับการเรียงลำดับO(nlogn)O(nlog⁡n)O(n\log n)

1
การใช้การค้นหาจำนวนเส้นตรงขั้นต่ำเพื่อครอบคลุมชุดของคะแนนคืออะไร
มีปัญหาที่ได้รับความนิยม[1] [2]ในวิทยาการคอมพิวเตอร์ที่กำลังค้นหาจำนวนเส้นตรงขั้นต่ำที่ครอบคลุมชุดของจุดใน 2D แม้ว่าฉันจะสแกนเอกสารจำนวนมาก แต่ก็ไม่มีใครมีแรงจูงใจที่ชัดเจนสำหรับปัญหานี้ การใช้การแก้ไขปัญหานี้คืออะไร? มีกระดาษที่อธิบายเรื่องนี้หรือไม่?

2
ปูกระเบื้องรูปหลายเหลี่ยมแบบมุมฉากพร้อมกำลังสอง
ให้รูปหลายเหลี่ยมแบบมุมฉาก (รูปหลายเหลี่ยมที่ด้านข้างขนานกับแกน) ฉันต้องการค้นหาชุดสี่เหลี่ยมจัตุรัสที่แยกกันไม่ออกซึ่งมีขนาดเล็กที่สุดซึ่งสหภาพมีรูปหลายเหลี่ยมเท่ากับ ฉันพบการอ้างอิงหลายอย่างเกี่ยวกับปัญหาที่แตกต่างกันเล็กน้อยเช่น: ครอบคลุมรูปหลายเหลี่ยมมุมฉากที่มีสี่เหลี่ยม - คล้ายกับปัญหาของฉัน แต่สี่เหลี่ยมครอบคลุมได้รับอนุญาตให้ทับซ้อนกัน ปัญหานี้มีวิธีแก้ปัญหาพหุนาม ( Aupperle, Conn, Keil และ O'Rourke, 1988 ; Bar-Yehuda และ Ben-Hanoch, 1996 ) ปูกระเบื้อง / ย่อยสลาย / แบ่งรูปหลายเหลี่ยมตั้งฉากกับรูปสี่เหลี่ยม ปัญหานี้มีวิธีแก้ปัญหาพหุนาม ( Keil, 2000 ; Eppstein, 2009 ) ครอบคลุมรูปหลายเหลี่ยมมุมฉากที่มีรูปสี่เหลี่ยมผืนผ้า - ปัญหานี้เป็นที่รู้จักกันว่า NP- สมบูรณ์ ( Culberson และ Reckhow, 1988 ) ฉันกำลังมองหาอัลกอริทึมสำหรับน้อยที่สุดการปูกระเบื้องที่มีสี่เหลี่ยม

2
คู่ที่ใกล้ที่สุดของคะแนนระหว่างสองชุดในแบบ 2 มิติ
ฉันมีสองชุดจุดในระนาบ 2 มิติ ฉันต้องการค้นหาจุดที่ใกล้ที่สุดs , tเช่นs ∈ S , t ∈ Tและระยะทางแบบยุคลิดระหว่างs , tมีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้ สิ่งนี้สามารถทำได้อย่างมีประสิทธิภาพ? สามารถทำได้ในเวลาO ( n log n )โดยที่n = | S | + | T | ?S,TS,TS,Ts,ts,ts,ts∈Ss∈Ss \in St∈Tt∈Tt \in Ts,ts,ts,tO(nlogn)O(nlog⁡n)O(n \log n)n=|S|+|T|n=|S|+|T|n = |S|+|T| ฉันรู้ว่าถ้าฉันให้เป็นหนึ่งเดียวชุดแล้วมันเป็นไปได้ที่จะหาคู่ที่อยู่ใกล้จุดs , s ' ∈ SในO ( n log n )เวลาโดยใช้ขั้นตอนวิธีการหารและพิชิตมาตรฐาน อย่างไรก็ตามอัลกอริทึมนั้นดูเหมือนจะไม่พูดคุยกับกรณีของสองชุดเนื่องจากไม่มีการเชื่อมต่อระหว่างระยะห่างระหว่างจุดที่ใกล้เคียงที่สุดสองจุดภายในหรือเทียบกับระยะห่างระหว่างจุดที่ใกล้เคียงที่สุดทั้งสองชุดSSSs,s′∈Ss,s′∈Ss,s' …

1
การแยกประเภทการปรับแต่ง
ที่ทำงานฉันได้รับมอบหมายให้อนุมานข้อมูลบางประเภทเกี่ยวกับภาษาแบบไดนามิก ฉันเขียนลำดับของข้อความไปยังletนิพจน์ที่ซ้อนกันเช่น: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } เนื่องจากฉันเริ่มต้นจากข้อมูลประเภททั่วไปและพยายามอนุมานประเภทที่เฉพาะเจาะจงมากขึ้นตัวเลือกที่เป็นธรรมชาติคือประเภทการปรับแต่ง ตัวอย่างเช่นตัวดำเนินการตามเงื่อนไขส่งคืนการรวมของประเภทของสาขาที่เป็นจริงและเท็จ …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

1
แจกจ่ายวัตถุในคิวบ์เพื่อให้พวกเขามีระยะห่างสูงสุดระหว่างกัน
ฉันพยายามใช้กล้องสีเพื่อติดตามวัตถุหลายรายการในอวกาศ วัตถุแต่ละชิ้นจะมีสีแตกต่างกันและเพื่อให้สามารถแยกแยะความแตกต่างได้ดีระหว่างวัตถุแต่ละชิ้นที่ฉันพยายามทำให้แน่ใจว่าแต่ละสีที่กำหนดให้กับวัตถุนั้นแตกต่างจากสีใด ๆ ในวัตถุอื่น ๆ เท่าที่จะทำได้ ในพื้นที่ RGB เรามีสามระนาบทั้งหมดมีค่าระหว่าง 0 ถึง 255 ในคิวบ์นี้ฉันต้องการกระจายสีnเพื่อให้มีมาก ระยะห่างระหว่างตัวเองกับคนอื่นมากที่สุด ข้อ จำกัด เพิ่มเติมคือควรรวม( 0 , 0 , 0 )และ( 255 , 255 , 255 ) (หรือใกล้เคียงกับพวกเขาให้มากที่สุด) ในn(0,0,0)/(255,255,255)(0,0,0)/(255,255,255)(0,0,0) / (255,255,255)nnn(0,0,0)(0,0,0)(0, 0, 0)(255,255,255)(255,255,255)(255, 255, 255)nnnสีเพราะฉันต้องการให้แน่ใจว่าไม่มีวัตถุใด ๆของฉันที่ใช้สีใดสีหนึ่งเนื่องจากพื้นหลังอาจเป็นหนึ่งในสีเหล่านี้(n−2)(n−2)(n-2) อาจเป็นไปได้ว่า (รวมถึงสีดำและในขณะที่) จะไม่เกินประมาณ 14nnn ขอบคุณล่วงหน้าสำหรับคำแนะนำใด ๆ เกี่ยวกับวิธีการรับสีเหล่านี้

2
ความซับซ้อนในการค้นหาลูกที่เพิ่มจำนวนคะแนนให้อยู่ในนั้น
x1,…,xn∈R2x1,…,xn∈R2x_1, \ldots, x_n \in \mathbb{R}^2rrrrrr∑ni=11∥x−xi∥≤r∑i=1n1‖x−xi‖≤r\sum_{i=1}^n \mathbb{1}_{\|x - x_i\| \leq r} ขั้นตอนวิธีการบังคับเดรัจฉานจะไปกว่าทุกจุดและนับจำนวนจุดที่อยู่ในระยะทางที่มีขนาดเล็กกว่าRที่จะให้ความซับซ้อนของ2)rrrO(n2)O(n2)\mathcal{O}(n^2) มีแนวทางที่ดีกว่านี้ไหม?

4
การกู้คืนจุดที่ฝังจากกราฟที่มีขอบถ่วงน้ำหนักด้วยระยะห่างระหว่างจุด
สมมติว่าฉันให้กราฟที่ไม่ได้บอกทิศทางด้วยขอบถ่วงน้ำหนักและบอกคุณว่าแต่ละโหนดสอดคล้องกับจุดในพื้นที่ 3 มิติ เมื่อใดก็ตามที่มีขอบระหว่างสองโหนดน้ำหนักของขอบคือระยะห่างระหว่างจุด เป้าหมายของคุณคือการสร้างตำแหน่งสัมพัทธ์ของคะแนนใหม่โดยกำหนดระยะห่างที่ใช้ได้ (แสดงด้วยน้ำหนักขอบ) ตัวอย่างเช่นถ้าฉันให้คุณก็รู้ว่าจุดนั้นเป็นจุดยอดของจัตุรมุข . คุณไม่รู้ว่ามันเกี่ยวข้องกับต้นกำเนิดหรือทิศทางของมันหรือว่ามันถูกสะท้อน แต่คุณสามารถบอกได้ว่ามันเป็นจัตุรมุขd0,1=d0,2=d0,3=d1,2=d1,3=d2,3=1d0,1=d0,2=d0,3=d1,2=d1,3=d2,3=1d_{0,1} = d_{0,2} = d_{0,3} = d_{1,2} = d_{1,3} = d_{2,3} = 1 โดยทั่วไปแล้วปัญหาจะง่ายถ้าฉันให้ความยาวขอบทั้งหมด เพียงแค่เลือกจุดโดยพลการที่( 0 , 0 , 0 )จากนั้นเลือกจุดที่อยู่ใกล้เคียงp 1และวางไว้ที่( d 0 , 1 , 0 , 0 )จากนั้นเพื่อนบ้านทั่วไปp 2จะได้รูปสามเหลี่ยม ระนาบ XY จากนั้นเพื่อนบ้านสามัญคนสุดท้ายp 3จะได้รับการวิเคราะห์ตำแหน่งในครึ่งพื้นที่z > 0p0p0p_0(0,0,0)(0,0,0)(0,0,0)p1p1p_1(d0,1,0,0)(d0,1,0,0)(d_{0,1},0,0)p2p2p_2p3p3p_3z>0z>0z > 0และทำลายความสมมาตรที่เหลืออยู่ (สมมติว่าคุณไม่ได้รับคะแนนที่ลดลง) …

2
ฉันจะทดสอบได้อย่างไรว่ารูปหลายเหลี่ยมนั้นมีโทนสีเดียวกับเส้นตรงหรือไม่?
เป็นที่รู้จักกันดีว่ารูปหลายเหลี่ยมทางเดียวมีบทบาทสำคัญในรูปหลายเหลี่ยมรูปสามเหลี่ยม คำจำกัดความ:รูปหลายเหลี่ยมในระนาบเรียกว่าเสียงเดียวที่เกี่ยวกับเส้นตรงLถ้าทุกมุมฉากเป็นLตัดกับPมากที่สุดสองครั้งPPPLLLLLLPPP กำหนดเส้นและรูปหลายเหลี่ยมPมีอัลกอริทึมที่มีประสิทธิภาพในการพิจารณาว่ารูปหลายเหลี่ยมPเป็นเสียงเดียวที่เกี่ยวกับLหรือไม่?LLLPPPPPPLLL

1
วิธีค้นหาเส้นชั้นความสูงสำหรับขั้นตอนวิธีกำจัดเส้นที่ซ่อนอยู่ของ Appel
เพื่อความสนุกสนานฉันกำลังพยายามที่จะทำให้ผู้ชมลวดกรอบสำหรับDCPU-16 ฉันเข้าใจวิธีการทำทุกอย่างยกเว้นวิธีซ่อนเส้นที่ซ่อนอยู่ในโครงลวด คำถามทั้งหมดที่นี่เพื่อให้ทุกคนคิดว่าคุณมีการเข้าถึง OpenGL โชคไม่ดีที่ฉันไม่สามารถเข้าถึงอะไรเช่นนั้นสำหรับ DCPU-16 (หรือการเร่งความเร็วฮาร์ดแวร์ใด ๆ ) ผมพบว่าคำอธิบายที่ดีเป็นธรรมของขั้นตอนวิธีการแตะบนGoogle หนังสือ อย่างไรก็ตามมีปัญหาหนึ่งที่ฉันมีปัญหาในการหา Appel กำหนดเส้นชั้นความสูงเป็นขอบที่แบ่งปันโดยรูปหน้าด้านหน้าและรูปหลายเหลี่ยมแบบหันหน้าไปทางด้านหลังหรือไม่ใช้ร่วมกันของรูปหลายเหลี่ยมแบบหันหน้าไปทางด้านหน้าที่ไม่ได้เป็นส่วนหนึ่งของรูปหลายเหลี่ยมแบบปิด ขอบที่แบ่งปันกันโดยรูปหลายเหลี่ยมสองหน้าทำให้ไม่มีการเปลี่ยนแปลงในการมองเห็นดังนั้นจึงไม่ใช่เส้นชั้นความสูง ในรูปที่ 8.4 ขอบ AB, EF, PC, GK และ CH เป็นเส้นชั้นความสูงส่วนขอบ ED, DC และ GI ไม่ใช่ ฉันเข้าใจกฎของอัลกอริทึมและวิธีการทำงานเมื่อคุณมีเส้นชั้นความสูงของคุณ แต่ฉันไม่เข้าใจว่าเป็นสิ่งที่ฉันต้องทำเพื่อตรวจสอบว่าขอบเป็น "ใช้ร่วมกันโดยด้านหน้าและรูปหลายเหลี่ยมด้านหลังหรือ ขอบที่ไม่ได้ใช้ร่วมกันของรูปหลายเหลี่ยมด้านหน้าที่ไม่ได้เป็นส่วนหนึ่งของรูปหลายเหลี่ยมปิด "จากมุมมองการเข้ารหัส ฉันสามารถดูรูปร่างและรู้ว่าเส้นใดเป็นเส้นชั้นความสูงในหัวของฉัน แต่ฉันไม่มีเงื่อนงำเกี่ยวกับวิธีการถ่ายโอน "ความเข้าใจ" นั้นไปยังอัลกอริธึมการเข้ารหัส ปรับปรุง ฉันมีความคืบหน้าในการกำหนดเส้นชั้นความสูง ฉันพบบันทึกการบรรยายทั้งสองนี้ จากชั้นเรียน University of Buffalo ในคอมพิวเตอร์กราฟิก พิจารณาขอบ สิ่งเหล่านี้แบ่งออกเป็นสามประเภท ขอบที่รวมเข้าด้วยกันสองใบหน้าที่มองไม่เห็นนั้นมองไม่เห็น …

1
ฉันจะสร้างรายการขอบที่เชื่อมต่อเป็นสองเท่าได้อย่างไรเมื่อได้รับชุดของส่วนของเส้น
สำหรับระนาบกราฟกราฟที่กำหนดฝังอยู่ในระนาบกำหนดโดยชุดของส่วนของบรรทัดแต่ละเซกแสดงด้วยจุดปลาย\} สร้างโครงสร้างข้อมูล DCEL สำหรับส่วนภาพถ่ายอธิบายขั้นตอนวิธีพิสูจน์ความถูกต้องและแสดงความซับซ้อนG(V,E)G(V,E)G(V,E)E={e1,...,em}E={e1,...,em}E= \left \{ e_1,...,e_m \right \} eieie_i{Li,Ri}{Li,Ri}\left \{ L_i,R_i \right \} ตามคำอธิบายนี้ของโครงสร้างข้อมูล DCELมีการเชื่อมต่อมากมายระหว่างวัตถุต่าง ๆ (เช่นจุดยอด, ขอบและใบหน้า) ของ DCEL ดังนั้น DCEL ดูเหมือนจะสร้างและบำรุงรักษาได้ยาก คุณรู้จักอัลกอริธึมที่มีประสิทธิภาพซึ่งสามารถใช้สร้างโครงสร้างข้อมูล DCEL ได้หรือไม่?

1
รูปสามเหลี่ยมคู่ที่ไม่ซ้ำกันของรูปหลายเหลี่ยมอย่างง่าย
ด้วยการกำหนดรูปสามเหลี่ยม (ไม่มีคะแนนสทิเนอร์) ของรูปหลายเหลี่ยมอย่างง่ายเราสามารถพิจารณาสมการสองตำแหน่งนี้ซึ่งกำหนดไว้ดังนี้ เราสร้างจุดสุดยอดสำหรับสามเหลี่ยมทุกรูปในการหาสามเหลี่ยมของเราและเราเชื่อมจุดยอดสองจุดถ้าสามเหลี่ยมที่สอดคล้องกันแบ่งปันขอบ กราฟคู่เป็นที่รู้จักกันว่าเป็นต้นไม้ที่มีระดับสูงสุดสามPPP สำหรับใบสมัครของฉันฉันสนใจในสิ่งต่อไปนี้ ได้รับต้นไม้ที่มีระดับสูงสุดที่สามจะมีเสมอง่ายเหลี่ยมดังกล่าวที่สองของทุกสมการ (ไม่จุดทิ) ของเท่ากับTตรงนี้สามเหลี่ยมของอาจไม่ซ้ำกัน แต่ฉันต้องการให้กราฟคู่ดูไม่ซ้ำกันTTTPPPPPPTTTPPP นี่เป็นความจริงอย่างแน่นอนเมื่อเป็นเส้นทาง แต่ไม่ชัดเจนเมื่อคุณมีจุดยอดองศาที่สามTTT

2
ค้นหาจุดศูนย์กลางในชุดจุดชี้วัดในพื้นที่น้อยกว่า
ฉันมีชุดของ nnnจุดที่กำหนดไว้ในช่องว่างเมตริก - ดังนั้นฉันสามารถวัด 'ระยะทาง' ระหว่างจุด แต่ไม่มีอะไรอื่น ฉันต้องการค้นหาจุดศูนย์กลางที่มากที่สุดภายในชุดนี้ซึ่งฉันกำหนดเป็นจุดที่มีผลรวมระยะทางขั้นต่ำไปยังจุดอื่นทั้งหมด การคำนวณเมทริกช้าดังนั้นจำเป็นต้องหลีกเลี่ยงหากเป็นไปได้ วิธีที่ชัดเจนในการค้นหาจุดนี้ใช้ n2n2n^2 การคำนวณระยะทางตัวชี้วัดเนื่องจากเป็นเพียง (a) คำนวณสำหรับแต่ละจุดผลรวมของระยะทางไปยังจุดอื่นทั้งหมดจากนั้น (b) ใช้จุดต่ำสุด มีวิธีการทำเช่นนี้ในเวลาน้อยกว่า โอ(n2)O(n2)O(n^2)เปรียบเทียบระยะทาง? (อาจใช้ประโยชน์จากความไม่เท่าเทียมกันของสามเหลี่ยมในบางวิธีซึ่งควรถือด้วยเมทริกของฉัน) การประมาณที่ดีอาจพอเพียงถ้าไม่มีวิธีที่แน่นอน

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