질문
일출과 일몰 구하는 공식 찾아요
비공개
조회수 2,171
작성일2019.01.16
일출과 일몰시간을 이용하여 등을 키고 끌 장치를 만들려고하는데 일출과 일몰 시간을 구하는 방법을 모르겠어요 년,월,일 넣으면 구할수 있는 식 있나요 없으면 다른 식이라도 알려주세요 ㅠㅠ
답변자님,
정보를 공유해 주세요.
2번째 답변
오렌지팜
태양신
열심답변자
본인 입력 포함 정보
제가 원리를 파악하여 일출일몰 시간 계산하는걸 만든게 있습니다,
간단한 식은 아니고 프로그램으로 계산 해야 합니다.
월일과 위치(위도,경도)도 넣어 주어야 합니다.
오차가 좀 있긴 하지만 타이머에 사용 하기에는 큰 문제가 없죠.
===================파이썬 쏘스
#일출, 일몰시간 계산
import math
def NightR(Q1,Q2): #밤 비율 계산
if abs(Q2) > abs(90)-abs(Q1):
if Q1*Q2 > 0:
return 0
if Q1*Q2 < 0:
return 1
rat1=math.acos(math.tan(math.radians(Q1))*math.tan(math.radians(Q2)))
rat2=2*math.degrees(rat1)
return rat2/360
def ptime(tit,stim): #비율을 시간으로 계산 및 출력
nti=int(stim*24)
ims=stim*24 - nti
nmi=int(ims*60)
ims=ims*60 - nmi
nse=int(ims*60+0.5)
if nse==60 : #반올림처리
nse=0
nmi=nmi+1
if nmi==60 :
nmi=0
nti=nti+1
print(tit,nti,':',nmi,':',nse)
# 월 1 2 3 4 5 6 7 8 9 10 11 12
lmsd=[285,316,344,10,40,71,101,132,163,193,214,254] #춘분(3.21)부터 전월까지 누적일
mm=int(input('월입력 :'))
dd=int(input('일입력 :'))
se2=float(input('위도 입력 :')) #북위 +, 남위 -
se3=float(input('경도 입력 :'))
pd=lmsd[mm-1]+dd #경과 날자
if pd >= 365 : #3월 21~31일 처리
pd=pd-365
se1=23.5*math.sin(math.radians(pd*360/365)) #각도 계산 sin90
nrat=NightR(se1,se2)
nrat=nrat-0.00625 #9분보정
if nrat <= 0:
print('계속 낮 입니다')
else:
if nrat >= 1:
print('계속 밤 입니다')
else :
ptime('일출시간',nrat/2+(135-se3)/360)
ptime('일몰시간',1-nrat/2+(135-se3)/360)
------------------------수행결과
월입력 :4
일입력 :16
위도 입력 :37.5
경도 입력 :127
일출시간 5 : 55 : 51
일몰시간 19 : 8 : 9
----------------------- 네이버에 나온 37.5-127(서울중구) 일출일몰 시간
1~2분 차이 밖에 없네요
2019.04.16.
도움이 되었다면 UP 눌러주세요!
UP이 많은 답변일수록 사용자들에게 더 많이 노출됩니다.
UP이 많은 답변일수록 사용자들에게 더 많이 노출됩니다.
1번째 답변
대부분은 광센서를 이용해서 밝기가 어느 정도 이상이 되면 꺼지도록 합니다. 일출 일몰 계산은 가능하긴 하지만 복잡한 시뮬레이션의 결과이기 때문에 보통은 천문연구원 등에서 표로 제공합니다. 이걸 이용하기는 좀 어렵지 않을까요.
2019.01.16.
- 참여
도움이 되었다면 UP 눌러주세요!
UP이 많은 답변일수록 사용자들에게 더 많이 노출됩니다.
UP이 많은 답변일수록 사용자들에게 더 많이 노출됩니다.
최근 공지사항이 없습니다.