จุดศูนย์กลางของประเทศไทย

ระหว่างที่ขับรถกลับ กทม ช่วงสงกรานต์ก็คิดอะไรเพลินๆแล้วมันก็แว๊บขึ้นมาในหัวว่าจุดกึ่งกลางของประเทศไทยมันอยู่ตรงไหนวะ พอถึงบ้านก็ลองค้น อินเตอร์เน็ตดูปรากฏว่ามีคนหาไว้แล้วโดยอาศัยเรื่องจุด centroid ของรูปโพลีกอน https://pantip.com/topic/30657016 ได้ว่าจุดกึ่งกลางของไทยเรามันอยู่แถวๆ ลพบุรี

แต่ดูจากวิธีที่เขาทำแล้วคงต้องขยันน่าดู

ไอ้เราก็อยากจะลองหาเองด้วยสิโดยอาศัย Mathematica ตามถนัด วิธีการก็ตามที่พอจะคิดออกนั่นก็คือ จุดกึ่งกลางที่ว่านี้มันก็น่าจะมีหลักเดียวกันกับเรื่อง pole of inaccessibility หรือจุดที่มันไกลจากฝั่งทุกแห่งมากที่สุด โดยในที่นี้จุดกิ่งกลางที่ว่ามันจะอยู่ประเทศไทยและมองว่าขอบชายแดนก็เป็นเหมือนชายฝั่ง การที่จะหาจุดนี้ได้ก็เพียงสุ่มจุดที่อยู่ในประเทศหรือแผนที่ขึ้นมา แล้วก็ทำการ optimization ระยะทางเพื่อหาจุดที่ทำให้ได้ระยะทางที่สั้นที่สุดระว่างจุดนั้นกับขอบชายแดน โดยอาศัยจุดที่สุ่มมานี้เป็นค่าเริ่มต้น โดยจุดที่ให้ระยะทางที่ไกลจากขอบที่สุดก็น่าจะเป็นคำตอบที่ต้องการ

อันนี้เป็น code ของ Mathematica ที่ผมลองเขียนสำหรับปัญหานี้ครับ

โหลด coordinates ของแผนที่เพื่อสร้างโพลีกอน

ลองเอาจุดที่ได้มาวาดเป็นโพลีกอนแล้วก็แบ่งเป็นจุดย่อยๆ http://reference.wolfram.com/language/ref/DiscretizeGraphics.html

จากนั้นก็ลองสุ่มจุดภายในโพลีกอนนี้มา 1000 จุด

สร้างfunctionสำหรับหาระยะทางที่สั้นที่สุดกับขอบของโพลีกอน โดยในที่นี้ผมใช้คำสั่ง SignedRegionDistance  http://reference.wolfram.com/language/ref/SignedRegionDistance.html จากนั้นก็ใช้คำสั่ง FindMinimum ช่วยอีกตามนี้ครับ

โดยตำแหน่งที่ได้คือ long: 101.362 lat: 15.457 ซึ่งเมื่อดูบนแผนที่แล้วก็ใกล้เคียงกับที่มีคนหาไว้ก่อนหน้าแล้วครับ