https://gall.dcinside.com/board/view/?id=physicalscience&no=165608&s_type=search_name&s_keyword=%EB%AC%BC%EB%A6%AC%EB%B2%8C%EB%A0%88&page=1 물리벌레의 질문에 대한 답




<HTML>
    <HEAD>
     <TITLE>
         역학적 에너지 보존법칙과 평균속도로 진자주기 구하기
     </TITLE>
    </HEAD>
    <BODY>

       <SCRIPT language="JavaScript">
s=0;
s1=0;
sk=0;

aa=90;//최대각으로 수선으로부터 진자가 가장 멀리 있을 때의 각도
dd=0.0001//변위각, 0.0001도마다 평균속도를 낸다.
g=9.8;//중력가속도 9.8m/s²
l=0.5;//줄의 길이 0.5m
//0.024682682×Math.sqrt(l/g)×dd
d0=0+dd;//구간 시작 각도로 최대각을 0도로 본다., 0도가 구간 시작 각도


document.write("<H3> 역학적 에너지 보존 법칙으로 진자 운동 시간 구하기</H3><P>");
document.write("<br> 구간 시작 각도 ",0 +"도<br>" );

for(x=0; x<=aa; x=x+10)//10도마다 시간을 구한다.
                      
           {

for(k=d0; k<=x; k=k+dd)
                      
           {


          a=Math.cos(aa/57.29577952);
          b=Math.cos((aa-k)/57.29577952);
          d=Math.cos((aa+dd-k)/57.29577952);
          c=b-a;
          e=d-a;
          f=Math.sqrt(c);
          i=Math.sqrt(e);
          j=f+i;
         t1=(0.024682682*Math.sqrt(l/g)*dd)/j;


              s1=s1+t1;


         }

  document.write("<br> 구간 끝 각도 ",parseInt(k) +"도" );//parseInt(k)는 각도를 정수화시킨다.
  document.write("<br>걸린 시간 ",s1 +"초" );

s1=0;
 
}



di=15+dd;//임의의 구간 시작 각도
dj=45;//임의의 구간 끝 각도
for(k=di; k<dj; k=k+dd)//임의의 구간에서 걸리는 시간
                      
           {
          a=Math.cos(aa/57.29577952);
          b=Math.cos((aa-k)/57.29577952);
          d=Math.cos((aa+dd-k)/57.29577952);
          c=b-a;
          e=d-a;
          f=Math.sqrt(c);
          i=Math.sqrt(e);
          j=f+i;
         t=(0.024682682*Math.sqrt(l/g)*dd)/j;


              s=s+t;
         }
   document.write("<H3> 임의의 구간의 진자 운동 시간 </H3><P>");
   document.write("<br> 구간 시작 각도 ",di-dd +"도" );
   document.write("<br> 구간 끝 각도 ",k +"도" );
   document.write("<br>걸린 시간 ",s +"초" );



for(k0=d0; k0<aa; k0=k0+dd)
                      
           {
          a0=Math.cos(aa/57.29577952);
          b0=Math.cos((aa-k0)/57.29577952);
          d0=Math.cos((aa+dd-k0)/57.29577952);
          c0=b0-a0;
          e0=d0-a0;
          f0=Math.sqrt(c0);
          i0=Math.sqrt(e0);
          j0=f0+i0;
         t0=(0.024682682*Math.sqrt(l/g)*dd)/j0;


              sk=sk+t0;
         }

           document.write("<H3>  진자 운동 시간 구하기</H3><P>");
           document.write("<br> 진자의 수선으로부터의 최대각= ",aa +"도")
           document.write("<br>줄 길이 ",l +"m" );
           document.write("<br>걸린 시간 ",sk +"초" );
           document.write("<br>진자 주기 ",sk*4 +"초" );
           </SCRIPT>

      </BODY>

</HTML>



결과




viewimage.php?id=3db5c935ecd139aa7dbcdfb018d221&no=24b0d769e1d32ca73dec81fa11d028314d3faebecfec25ed6aa779bc7858f30a86fab89f30ab6ee43bd9e5d46bb36a285837e37d4ddc5150ed4176c666fda9c26dc38815efdaba334b4b2a







https://blog.daum.net/seongsu1302/231


https://blog.daum.net/seongsu1302/230


https://javalab.org/period_of_pendulum/ 자바 실험실