타원의 원주
작성자: yangmask 님실행 횟수: 430505
※ 이 라이브러리는 회원이 작성한 작품입니다. 본 사이트는 그 내용에 대해 관여하지 않습니다.
정확도 측면에서는, 장반경이 1일 때 계산 결과는 소수점 0.00001 자리까지 정확하다고 보시면 됩니다.
예를 들어, 장반지름 0.5, 단반지름 0.5, 즉 지름 1인 완전한 원으로 계산해 보십시오. 그러면 3.14158335634999245734라는 결과가 나올 것입니다. 즉, 원주율입니다.원주율의 정확한 값은 3.1415926535…라고 하니, 정밀도 측면에서는 (장반지름이 1일 때) 소수점 0.0001 자리까지 알 수 있습니다.
왜 1000곳으로 나누었냐 하면, 그 이상은 타임아웃으로 계산할 수 없는 등의 문제가 있었기 때문입니다. 만약 여러분의 계산기로 계산하신다면, 더 높은 정밀도의 값을 얻을 수 있을지도 모릅니다.
_____
아래에 프로그램을 제시합니다. ‘정밀도=0.001’ 부분을 수정하여 더 작은 값으로 설정하고, 또한 2행의 ‘n<=1000’을 ‘1÷정밀도’의 값이 되도록 조정해 주십시오.
k=0; 정밀도=0.001; 종횡비=짧은 반지름/긴 반지름;
for(n=1; n<=1000; n=n+1)
{ j=(sqrt((정밀도^2)+(가로세로 비율^2*((sqrt(1-(정밀도*(n-1))^2)-sqrt(1-(정밀도*n)^2))^2))));
k=k+j;
답=k*긴 반지름*4;}
print(답);
_____
혹은 다른 계산기라면 다음과 같이 작성할 수도 있습니다.
Σ (n=1,1/★) {√((★^2)+(▲^2*((√(1-(★*(n-1))^2)-√(1-(★*n)^2))^2)))}
★ 부분은 정밀도(예를 들어, 0.001)이고, ▲는 짧은 반지름/긴 반지름의 값입니다. 단, 이 계산 결과에 ×긴 반지름×4를 곱한 것이 그 타원의 원주입니다.
왜 1000곳으로 나누었냐 하면, 그 이상은 타임아웃으로 계산할 수 없는 등의 문제가 있었기 때문입니다. 만약 여러분의 계산기로 계산하신다면, 더 높은 정밀도의 값을 얻을 수 있을지도 모릅니다.
_____
아래에 프로그램을 제시합니다. ‘정밀도=0.001’ 부분을 수정하여 더 작은 값으로 설정하고, 또한 2행의 ‘n<=1000’을 ‘1÷정밀도’의 값이 되도록 조정해 주십시오.
k=0; 정밀도=0.001; 종횡비=짧은 반지름/긴 반지름;
for(n=1; n<=1000; n=n+1)
{ j=(sqrt((정밀도^2)+(가로세로 비율^2*((sqrt(1-(정밀도*(n-1))^2)-sqrt(1-(정밀도*n)^2))^2))));
k=k+j;
답=k*긴 반지름*4;}
print(답);
_____
혹은 다른 계산기라면 다음과 같이 작성할 수도 있습니다.
Σ (n=1,1/★) {√((★^2)+(▲^2*((√(1-(★*(n-1))^2)-√(1-(★*n)^2))^2)))}
★ 부분은 정밀도(예를 들어, 0.001)이고, ▲는 짧은 반지름/긴 반지름의 값입니다. 단, 이 계산 결과에 ×긴 반지름×4를 곱한 것이 그 타원의 원주입니다.
이 계산에 대한 고객 피드백이 아직 없습니다.
기본적인 개념은 반지름을 1000곳으로 균등하게 나누고, 그 구획 지점의 수평선과 타원이 접하는 점을 특정하여,
그 점들을 잇는 선분의 길이의 합을 구하는 것입니다.
요컨대, 다각형을 이용하여 타원의 원주 길이에 대한 근사값을 구하는 것입니다.
자세한 내용은 아래 링크를 참조하십시오.