Skip to content

Prajuab Riabroy's Blog

Survey Application – GNSS – UAV – Programing – Python – Dart&Flutter – Rust

Menu
  • Home
  • About Us
  • Survey Application
    • Surveyor Pocket Tools
    • Traverse Pro
    • XSection Plot
    • Geoid Height Pro
    • Spot Fire
    • โปรแกรมงานสำรวจสำหรับเครื่องคิดเลข Casio fx-5800P
    • โปรแกรมงานสำรวจสำหรับเครื่องคิดเลข Casio fx-9860G II SD
  • Download
  • Privacy Policy
Menu

ไขความลับดำมืดโค้งสไปรัล ตอนที่ 1

Posted on 13/01/2021

จากที่ผมได้เขียนโปรแกรมลงเครื่องคิดเลข HP Prime G2 คำนวณโค้งสไปรัล ทำให้เห็นว่าจะต้องใช้สูตรตัวไหน เริ่มต้นคำนวณอย่างไร เป็นลำดับขั้นตอนไปอย่างไร ช่างสำรวจหรือวิศวกรสำรวจน้อยคนนักที่จะได้คำนวณโค้งสไปรัล ปัจจุบันโปรแกรมออกแบบงานถนน งานรถไฟอย่าง Civil 3D สามารถออกแบบงานได้ตั้งแต่เริ่มต้นจนจบ การไปเลเอ้าท์หน้างานก็อาศัยโปรแกรมจากแคด จึงทำให้โอกาสน้อยคนที่จะสามารถคำนวณเองด้วยมือได้ ความลับดำมืดจึงยังคงอยู่กับโค้งสไปรัลต่อไป แต่ถ้าตั้งใจทำความเข้าใจลำดับการคำนวณโค้งสไปรัลก็ไม่ได้ยากเลย เพียงแต่ต้องหาสูตรให้ถูกที่ถูกทางก่อน หลายๆสูตรไปผูกกับหน่วยฟุตแนบแน่น จนทำให้คนใช้หน่วยเมตริกแบบพวกเรามาตั้งแต่เรียนจบ ออกอาการงงๆเบลอๆ

ยุคนี้เป็นยุคงานก่อสร้างรถไฟความเร็วสูง (High Speed Rail) โค้งที่นำมาประยุกต์ใช้เป็นโค้งสไปรัล ดังนั้นช่างสำรวจและวิศวกรสำรวจควรจะทำความเข้าใจให้กระจ่าง ที่ผ่านมาผมก็เช่นกันเห็นตำราคำนวณโค้งสไปรัลแล้ว จับต้นชนปลายไม่ถูก เนื่องจากสูตรดูเหมือนเยอะทำให้เข้าใจไม่ทะลุปรุโปร่งสักที บทความนี้จะนำเสนอสูตร วิธีการใช้ที่ผมเอามาเขียนโปรแกรมบนเครื่องคิดเลข HP Prime และที่พิเศษคือมาคำนวณกันด้วยมือ สิ่งที่ต้องเตรียมคือเครื่องคิดเลขกับกระดาษทด เมื่อได้ผลลัพธ์แล้วลองมาเทียบกับผลลัพธ์จากเครื่องคิดเลขดูกัน

ลักษณะโค้งสไปรัล (Spiral Curve)

สำหรับโค้งสไปรัลที่เราใช้ในเมืองไทยคือแบบ Clothoid spiral ส่วนแบบอื่นๆไม่ได้กล่าวถึงในที่นี่ โค้งสไปรัลในการใช้งานจะนำไปรวมกับโค้งวงกลม โค้งสไปรัลจะเป็นโค้งที่รัศมีไม่คงที่ถ้าเริ่มเข้าโค้งสไปรัลที่จุด TS จะเริ่มจากรัศมีเป็นอนันต์แล้วรัศมีค่อยๆลดลงไปเรื่อยๆจนไปเท่ากับรัศมีวงกลมที่มาต่อกันที่จุด SC จากนั้นจะเข้ารัศมีโค้งวงกลมจนกระทั่งสิ้นสุดโค้งวงกลมที่จุด CS จะต่อด้วยโค้งสไปรัลอีกที รัศมีโค้งสไปรัลจะเริ่มมากขึ้นเรื่อยๆ จนเป็นอนันต์ที่จุดออกจากโค้งสไปรัลที่จุด ST

  • credit: http://www.jerrymahun.com/
  • เส้นสีน้ำเงินคือโค้งสไปรัล สีแดงคือโค้งวงกลม

สูตรคำนวณโค้งสไปรัล (Spiral Curve Formula)

เนื่องจากโค้งสไปรัลเอาไปผสมใช้กับโค้งวงกลม ดังนั้นถ้าเป็นโค้งผสมแบบสมมาตรคือความยาวโค้งสไปรัลเข้าและออก (Entrance spiral & Exit spiral) จะกำหนดให้ความยาว (LS) เท่ากัน ผมจะนำเสนอแบบสมมาตรเพื่อการคำนวณออกมาง่ายที่สุดและนิยมใช้แบบสมมาตรมากกว่าแบบอสมมาตร

การคำนวณหาองค์ประกอบของโค้งสไปรัลเป็นสิ่งจำเป็นอันดับแรกที่ต้องคำนวณก่อนจากโจทย์ที่กำหนด ส่วนใหญ่จะให้ความยาวโค้งสไปรัล (LS) มาให้, กำหนดรัศมีโค้งวงกลม (RC) และกำหนดมุมเบี่ยงเบน (Δ) สามอย่างนี้เราสามารถคำนวณหาองค์ประกอบโค้งสไปรัลและโค้งวงกลมได้หมด

สำหรับสูตรในกรอบสีชมพูด้านบนสองบรรทัดล่าง จะสังเกตุเห็นสูตรหาระยะ offset (X,Y) ที่จุดใดๆ เมื่อทราบความยาวโค้ง (ls) ใดๆของจุดนั้น

แผนผังแสดงส่วนประกอบโค้งสไปรัล

ถ้าลากโค้งวงกลมผ่านจุด SC มาแตะจุดที่เรียกว่า PCO จุดนี้จะเป็นจุดที่ขนานกับเส้น semi-tangent หรือคิดง่ายๆถ้าลากเส้นจากจุดศูนย์กลางวงกลมผ่านจุด PCO ไปตั้งฉากกับเส้น semi-tangnet ระยะทางวัดตั้งฉากจากปลายเส้นโค้งนี้ไปหาเส้น semi-tangent จะได้ระยะทาง p ถ้าจับ Rc บวกกับระยะ p แล้วดูความสัมพันธ์กับระยะทาง T จะเป็นรูปสามเหลี่ยมมุมฉาก มีด้านประกอบมุมฉากคือด้าน p+Rc, T และด้านที่ลากจากศูนย์กลางโค้งวงกลมไปหาจุด PI ตรงนี้มีมุม Δ/2 ถ้าเอา T หารด้วย (Rc+p) จะได้ T/(Rc+p) = tan (Δ/2)

ถ้าลากเส้นขนานกับเส้น semi-tangent ไปหาจุดเริ่มต้นสไปรัล (TS) จะได้ระยะทาง k ดูรูปขยายด้านล่าง อันนี้ง่ายจะได้ Ts = T + k

ผังแสดงส่วนประกอบโค้งสไปรัลรวมทั้งโค้งวงกลม
ส่วนขยายของโค้งสไปรัล

ตัวอย่างที่ 1

โจทย์คำนวณโค้งสไปรัลกำหนดมุมเบี่ยงเบน (Δ) 30° รัศมีโค้งวงกลม (Rc) 382 เมตร ความยาวโค้งสไปรัล (Ls) 120 เมตร กำหนดสถานีที่จุด TS 0+708

วิธีคำนวณหาองค์ประกอบโค้ง Δs, Δc และ Lc

เมื่อรู้สามอย่างอย่างที่ผมบอกคือ Δ, Rc และ Ls จะสามารถหาองค์ประกอบโค้งได้ทั้งหมด อันดับแรกเราจะคำนวณหามุมเบี่ยงเบนของโค้งสไปรัล (Δs) , มุมเบี่ยงเบนของโค้งวงกลม (Δc) และความยาวโค้งวงกลม (Lc) มาดูสูตรสามบรรทัดแรกก่อนด้านขวามือ คำนวณหามุมเบี่ยงเบนของโค้งสไปรัล Δs ดังบรรทัดด้านล่าง

มุม Δs ที่ได้มาเป็นเรเดียนเมื่อนำมาคูนกับ 180/¶ จะได้หน่วยเป็นดีกรี ต่อไปคำนวณหา Δc จากสูตรที่สอง

ต่อไปหาความยาวโค้งวงกลม (Lc)

วิธีคำนวณหาระยะออฟเซ็ท Xs, Ys

ระยะออฟเซ็ท (Xs, Ys) ต้องหาเพราะว่าจะต้องไปคำนวณหา p และ k มาดูไดอะแกรมที่ผมขยายให้ใหญ่ขึ้น Xs จะวัดจากจุด TS ไปตามเส้น semi-tangent (TS – PI) ส่วน Ys วัดตั้งฉากไปหาจุด SC

ในที่นี่มุม θ = Δs = 8°59’57.61″ = 8.99933611° = 0.15706806 เรเดียน เอามุมหน่วยเป็นเรเดียนไปแทนที่ในสมการ Xs, Ys

วิธีคำนวณหาระยะ p, q และ T, Ts

เมื่อได้ค่า Xs, Ys จะนำไปแทนค่าในสมการ

วิธีคำนวณหาสถานี (Stationing)

เมื่อได้องค์ประกอบของโค้งแล้ว ขั้นต่อไปจะคำนวณหาสถานี (stationing) จากโจทย์กำหนดให้จุด TS 0+708 สถานี SC, CS , ST จะคำนวณไปตามระยะโค้ง ส่วน PI จะพิเศษหน่อยตรงที่บอกระยะ semi-tangent (Ts) เข้าไปตรงๆ

PI Sta = TS Sta + Ts = 708 + 192.728 = 0 + 900.728

SC Sta = TS Sta + Ls = 708 + 120 = 0 + 828

CS Sta = SC Sta + Lc = 828 + 80.015 = 0 + 908.015

ST Sta = CS Sta + Ls = 908.015 + 120 = 1 + 028.015

เปรียบเทียบผลลัพธ์กับเครื่องคิดเลข

ผมป้อนข้อมูลตามโจทย์ตัวอย่างที่ 1 เข้าไปและผลลัพธ์ได้ดังนี้ โดยที่จำนวนทศนิยมผมตั้งไปที่ 8 ตำแหน่ง แต่จะสังเกตุเห็นว่าระยะ p ที่คำนวณได้ 1.56929848 m แต่จากที่คำนวณจากโปรแกรมเครื่องคิดเลขด้านล่างได้ p = 1.56929745 m ต่างกันที่ตำแหน่งที่ 6 เพราะเราใช้มุม Δs = 8°59’57.61″ ที่ปัดมาแล้ว ถ้าคำนวณจริงๆแบบไม่ปัดคือ p = 6.27165998 – 382(1-cos(120/(2×382)*180/PI) = 1.56929745 m แต่สำหรับผมแล้วต่อให้มุมปัดไม่ปัด ในการทำงานจริงๆต้องการแค่ตำแหน่งที่ 3 การต่างกันที่ตำแหน่งที่ 6 ถือว่าไม่มีนัยสำคัญ

ก็ขอพักตอนที่ 1 ไว้ตรงนี้ก่อน ตอนที่ 2 มาว่ากันเรื่องการคำนวณค่าพิกัดบนโค้งและการคำนวณหาค่าพิกัดของเส้นโค้งที่ออฟเซ็ทออกไปด้านซ้ายหรือด้านขวา

Related

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

October 2026
M T W T F S S
 1234
567891011
12131415161718
19202122232425
262728293031  
« Sep    

Blog Stats

There was an issue retrieving stats. Please try again later.

Recent Posts

  • เร็วแรงทะลุนรกกับ POCUT (POint Cloud UTils)
  • อัพเดทแอพ “SurveyStar LDP Thailand” เพื่อรับกับยกร่างมาตรฐาน “TH-LDP”
  • ออกแอพใหม่ SurveyStar Traverse Pro สืบสานงานคำนวณวงรอบ ตอนที่ 2
  • ออกแอพใหม่ SurveyStar Traverse Pro สืบสานงานคำนวณวงรอบ ตอนที่ 1
  • โปรแกรมอรรถประโยชน์ Pocut (POint Cloud Utils)
  • โปรแกรมแปลงไฟล์แคดข้ามระบบพิกัด (Drawing Transformer)
  • มาตรฐานระบบพิกัดแผนที่แบบแอลดีพีของประเทศไทยสำหรับงานวิศวกรรมและการก่อสร้าง (Thailand Low Distortion Map Coordinate System for Engineering and Construction)
  • ประสบการณ์ใช้งาน Kimi K3 Code เขมือบแบบสยอง
  • สร้างแพลตฟอร์มดู Point Cloud บนเว็บด้วย Potree + CesiumJS — เรื่องเล่าจากสนามบินอู่ตะเภา
  • เมื่อวิศวกรสำรวจคำนวณเรื่องน้ำ – วิเคราะห์ระบบระบายน้ำบริเวณ RESA
  • แนะนำหนังสือ “จีออเดซี” ที่ยอดเยี่ยมของดร.พุทธิพล
  • ESPrtk ทำให้ ESP32 ใช้ไม่ได้? วิธีกู้คืน
  • กรณีศึกษา – คืนชีพ SDL30 ปี 2000 ด้วย ESP32 และแอพทำเอง SDL30 Collector
  • DIY RTK Base Station (survey-grade) รุ่น V3.21 ด้วย Raspberry Pi 2B + UM980 เมื่อคุณปู่กลับมาเป็นฮีโร่ ตอนที่ 4
  • รีวิวกูปรี (CoPre2) โปรแกรมประมวลผลไลดาร์จากค่าย CHCNav
  • DIY RTK Base Station (survey-grade) รุ่น V3.2 ด้วย Orange Pi 3 Zero + UM980 ตอนที่ 3
  • DIY RTK Base Station (survey-grade) รุ่น V3 ด้วย Orange Pi 3 Zero + UM980 ตอนที่ 2
  • เส้นทางและไทม์ไลน์ของใบรับรองความรู้ความชำนาญในการประกอบอาชีพวิศวกรรม(สำรวจ)ระดับวิศวกรวิชาชีพ
  • มัดแหนมรวมสามโปรแกรมไปใช้บนสโตร์ Snap ฝั่งลีนุกซ์
  • ปัดฝุ่น Traverse Pro เพิ่มรายละเอียดรายการคำนวณใหม่แบบแนวนอน (Landscape) และธีมมืด
  • DIY RTK Base Station (Survey-Grade) ด้วยชิป UM980 และบอร์ด ESP32 ตอนที่ 1
  • สร้าง NTRIP Caster ด้วย BNC บนคลาวด์แบบ DIY สำหรับ RTK Base Station ใช้ CHCNav P5
  • จับ AI มาไตรกรีฬา สร้างตัวติดตั้ง Snap สำหรับ Surveyor Pocket Tools กับประเด็นแฝงเร้นความเป็นส่วนตัวของผู้ใช้
  • ทดสอบรีด QGIS แบบโหดสัสด้วยชุดข้อมูล Open Building V3 โพลีกอน 74 ล้านหลัง
  • เมื่อ AI เป็นพิษชักจูงผู้ใช้ด้วยข้อมูลผิดๆ

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 122 other subscribers

Archives

  • October 2026
  • September 2026
  • August 2026
  • July 2026
  • May 2026
  • April 2026
  • March 2026
  • January 2026
  • December 2025
  • November 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • July 2024
  • May 2024
  • April 2024
  • January 2024
  • November 2023
  • October 2023
  • September 2023
  • July 2023
  • June 2023
  • May 2023
  • March 2023
  • February 2023
  • January 2023
  • November 2022
  • October 2022
  • September 2022
  • July 2022
  • May 2022
  • December 2021
  • October 2021
  • September 2021
  • August 2021
  • May 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • September 2019
  • August 2019
  • July 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • January 2018
  • November 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • August 2016
  • November 2015
  • March 2015
  • August 2014
  • March 2014
  • January 2014
  • December 2013
  • February 2012
  • January 2012
  • November 2011
  • October 2011
  • August 2011
  • April 2011
  • February 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • June 2010
  • April 2010
  • March 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009

Recent Comments

  • priabroy on ออกแอพใหม่ SurveyStar Traverse Pro สืบสานงานคำนวณวงรอบ ตอนที่ 1
  • Konexana Yomleuangsa on ออกแอพใหม่ SurveyStar Traverse Pro สืบสานงานคำนวณวงรอบ ตอนที่ 1
  • เฟือง เถา on DIY RTK Base Station (survey-grade) รุ่น V3.21 ด้วย Raspberry Pi 2B + UM980 เมื่อคุณปู่กลับมาเป็นฮีโร่ ตอนที่ 4
  • priabroy on DIY RTK Base Station (survey-grade) รุ่น V3.21 ด้วย Raspberry Pi 2B + UM980 เมื่อคุณปู่กลับมาเป็นฮีโร่ ตอนที่ 4
  • ตรันฟองนาม on DIY RTK Base Station (survey-grade) รุ่น V3.21 ด้วย Raspberry Pi 2B + UM980 เมื่อคุณปู่กลับมาเป็นฮีโร่ ตอนที่ 4
©2026 Prajuab Riabroy's Blog | Design: Newspaperly WordPress Theme