20 พฤษภาคม 2559

สูตรการคำนวณตำแหน่งดาวเคราะห์แบบดาราศาสตร์ : อาทิตย์


สูตรการคำนวณตำแหน่งดาวเคราะห์แบบดาราศาสตร์ : อาทิตย์

ฟังก์ชั่น Sun คือฟังก์ชั่น VBA บน Excel ใช้ในการหาค่าตำแหน่งอาทิตย์แบบดาราศาสตร์สากล หรือระบบสายนะวิธี มีตัวแปรที่รับเข้าดังต่อไปนี้
day = วันที่
month = เดือน
year = ปี ค.ศ.
hour = ชั่วโมง
minute = นาที
และฟังก์ชั่นเสริมที่ใช้ประกอบการคำนวณคือ Modulo (การหารแบบเอาเศษ,เศษจากการหาร) เพื่อใช้ควบคุมค่าให้อยู่ในช่วงที่ต้องการ ในที่นี้คือ 360

สูตรการคำนวณมีดังนี้
Function Sun(day, month, year, hour, minute As Double) As Double
Dim D, N, M, E As Double
D = 367 * year - Int(7 * (year + Int((month + 9) / 12)) / 4) + Int(275 * month / 9) + day - 730530 + ((hour + (minute / 60)) / 24)
N = Modulo(360 / 365.242191 * D, 360)
M = Modulo(N + 279.557208 - 283.112438, 360) * 3.14159265358979 / 180
E = 360 / 3.14159265358979 * 0.016705 * Sin(M)
Sun = Modulo(N + E + 279.557208, 360)
End Function

Function Modulo(a, b As Double) As Double
Modulo = a / b
Modulo = (Modulo - Int(Modulo)) * b
End Function
ตัวอย่างการคำนวณ 1 พฤษภาคม 2016 เวลา 12.00 น.(กรีนิช)
รูปแบบสูตร Sun(1,5,2016,12,0)
ค่าที่ได้คือ 41.56190514 องศา
(เปรียบเทียบกับค่าที่ได้จากโมดูล swiss คือ 41.5371152186721 ต่างกันอยู่ 0.024789923 องศา)
ในกรณีที่จะทำเป็นค่าตำแหน่งดาวในระบบนิรายนะวิธี ให้นำค่าอายนางศมาลบออกจากค่าที่คำนวณได้ กรณีนี้ใช้ค่าอายนางศแบบลาหิรีที่คำนวณได้ในวันเวลาตามตัวอย่าง คือ 24.0852731799126
           ตำแหน่งอาทิตย์(นิรายนะวิธี) =  41.56190514 - 24.0852731799126 = 17.47663196
1.ราศี 17.47663196 หาร 30 ลัพธ์เป็นราศี = 0
2.องศา จำนวนเต็มของเศษจากการหาร = 17.47663196 = 17
3.ลิปดา ทศนิยมที่เหลือคูณด้วย 60 = 0.47663196 X 60 = 28.5979176 = 28
4.ฟิลิปดา ทศนิยมที่เหลือในข้อ 3. คูณด้วย 60 = 0.5979176X 60 = 35.875056 = 35
สรุป ตำแหน่งอาทิตย์(นิรายนะ) = ราศีเมษ 17 องศา 28 ลิปดา 35 ฟิลิปดา
เปรียบเทียบผลกับโมดูล swiss คือ ราศีเมษ 17 องศา 27  ลิปดา 6 ฟิลิปดา ต่างกันอยู่ 1 ลิปดา 29 ฟิลิปดา

ธีรพร  เพชรกำแพง
20 พฤษภาคม 2559
(ต้องการขอรับไฟล์งาน Excel ติดต่อได้ที่ tepar2009@gmail.com)