Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

구면 거울의 초점 거리 계산하기 – Java 코드 예제와 설명

구면 거울(spherical mirror)은 곡률 반경을 지닌 거울로, 초점 거리(focal length)는 곡률 반경의 절반과 같습니다. 오목 거울(concave mirror)은 초점 거리가 양(+)의 값으로, 볼록 거울(convex mirror)은 음(−)의 값으로 표현됩니다. 다음은 주어진 곡률 반경으로부터 구면 거울의 초점 거리를 계산하는 Java 코드입니다.

예제 코드

import java.util.*;
import java.lang.*;
public class Demo{
   public static float concave_f_len(float val){
      return val/2 ;
   }
   public static float convex_f_len(float val){
      return - (val/2 ) ;
   }
   public static void main(String argc[]){
      float val = 55 ;
      System.out.print("The focal length of spherical mirror (concave) is : " + concave_f_len(val) + "units\n");
      System.out.println("The focal length of spherical mirror (convex) is : "+ convex_f_len(val) + "units");
   }
}

실행 결과

The focal length of spherical mirror (concave) is : 27.5units
The focal length of spherical mirror (convex) is : -27.5 units

코드 동작 원리

Demo라는 이름의 클래스에는 float 값을 반환하는 두 개의 정적(static) 메서드가 정의되어 있습니다. 첫 번째 메서드 concave_f_len()은 float 값을 매개변수로 받아 2로 나눈 결과를 그대로 반환합니다. 두 번째 메서드 convex_f_len() 역시 float 값을 매개변수로 받아 2로 나눈 뒤, 부호를 음수로 바꾸어 반환합니다.

main 메서드에서는 두 정적 메서드에 전달할 곡률 반경 값(val = 55)을 먼저 정의합니다. 이후 각 메서드를 호출하여 계산된 초점 거리와 함께 안내 문구를 콘솔에 출력합니다.

핵심 개념 정리

  • 초점 거리 공식: f = R / 2 (f는 초점 거리, R은 곡률 반경)
  • 오목 거울: 빛을 실제로 한 점에 모으므로 초점 거리가 양수로 계산됩니다.
  • 볼록 거울: 빛을 퍼뜨리므로 초점 거리가 음수로 계산됩니다.
  • 곡률 반경이 55 단위일 때, 초점 거리는 각각 +27.5 단위와 −27.5 단위가 됩니다.

이처럼 간단한 나눗셈 연산만으로도 구면 거울의 초점 거리를 손쉽게 구할 수 있으며, 부호 규칙만 정확히 이해하면 오목 거울과 볼록 거울을 하나의 로직으로 처리할 수 있습니다.