Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기
물리

빛의 굴절과 스넬의 법칙을 함수 그래프로 표현하기

by 여행과 수학 2025. 4. 17.
반응형

빛이 서로 다른 매질을 통과할 때 꺾이는 현상을 우리는 "굴절"이라고 부릅니다. 이 현상은 우리가 일상에서 물컵 속에 꽂힌 빨대가 꺾여 보이는 이유이기도 하며, 과학적으로는 "스넬의 법칙"으로 설명됩니다. 이 글에서는 빛의 굴절 현상을 함수 그래프를 통해 시각적으로 표현하고, 수학적으로 스넬의 법칙을 어떻게 나타낼 수 있는지를 상세히 다루어보겠습니다.

빛의 굴절이란?

빛이 한 매질(예: 공기)에서 다른 매질(예: 물)로 이동할 때, 진행 경로가 바뀌는 현상을 굴절이라고 합니다. 이는 두 매질 간의 빛의 속도 차이 때문에 발생하며, 빛은 느린 매질로 들어갈수록 법선에 가까워지고, 빠른 매질로 나올수록 법선에서 멀어지게 됩니다.

스넬의 법칙 소개

스넬의 법칙은 굴절 각도와 입사 각도, 그리고 각 매질의 굴절률 사이의 관계를 나타냅니다. 다음과 같은 수식으로 표현됩니다:

LaTeX 수식: n1sin(θ1)=n2sin(θ2)

여기서:

  • n1: 첫 번째 매질의 굴절률
  • θ1: 입사각
  • n2: 두 번째 매질의 굴절률
  • θ2: 굴절각

스넬의 법칙을 함수 그래프로 표현하기

스넬의 법칙을 시각화하기 위해, 입사각을 x축에, 굴절각을 y축에 두고 그래프를 그릴 수 있습니다. 예를 들어, 공기(n1=1.0)에서 물(n2=1.33)로 빛이 입사할 때, 다양한 입사각에 대한 굴절각을 계산하여 다음과 같이 함수 형태로 나타낼 수 있습니다.

파이썬을 이용한 시각화 예제

다음은 Python의 matplotlib을 이용하여 스넬의 법칙을 함수 그래프로 시각화하는 코드입니다:


import numpy as np
import matplotlib.pyplot as plt

# 굴절률 설정
n1 = 1.0  # 공기
n2 = 1.33  # 물

# 입사각 범위 (0~90도)
theta1_deg = np.linspace(0, 90, 500)
theta1_rad = np.radians(theta1_deg)

# 스넬의 법칙을 이용하여 굴절각 계산
sin_theta2 = n1 / n2 * np.sin(theta1_rad)
# 전반사 방지 (sin 값이 1을 넘지 않도록 클리핑)
sin_theta2 = np.clip(sin_theta2, 0, 1)
theta2_rad = np.arcsin(sin_theta2)
theta2_deg = np.degrees(theta2_rad)

# 그래프 그리기
plt.figure(figsize=(8, 6))
plt.plot(theta1_deg, theta2_deg, label='굴절각 (θ₂)')
plt.plot(theta1_deg, theta1_deg, 'r--', label='입사각 = 굴절각')
plt.xlabel('입사각 (θ₁) [도]')
plt.ylabel('굴절각 (θ₂) [도]')
plt.title('스넬의 법칙: 입사각 vs 굴절각 (공기 → 물)')
plt.legend()
plt.grid(True)
plt.show()

이 그래프는 입사각이 커질수록 굴절각도 증가하지만, 일정한 한계에서 굴절각은 점점 느리게 증가하는 것을 보여줍니다. 이는 굴절률 차이로 인한 효과이며, 일정 이상의 각도에서는 전반사가 발생하여 굴절되지 않고 반사만 일어나게 됩니다.

굴절률에 따른 함수 비교

매질의 굴절률이 달라지면 굴절각 그래프도 달라집니다. 예를 들어, 공기에서 유리(n1.5)로의 경우, 더 급격한 굴절이 발생합니다. 여러 매질의 조합으로 그래프를 그려 비교하면 스넬의 법칙의 동작 원리를 더 명확하게 이해할 수 있습니다.


n_list = [1.33, 1.5, 1.7]  # 물, 유리, 고밀도 플라스틱

plt.figure(figsize=(8, 6))
for n2 in n_list:
    sin_theta2 = n1 / n2 * np.sin(theta1_rad)
    sin_theta2 = np.clip(sin_theta2, 0, 1)
    theta2_deg = np.degrees(np.arcsin(sin_theta2))
    plt.plot(theta1_deg, theta2_deg, label=f'공기 → n={n2}')

plt.plot(theta1_deg, theta1_deg, 'k--', label='입사각 = 굴절각')
plt.xlabel('입사각 (θ₁) [도]')
plt.ylabel('굴절각 (θ₂) [도]')
plt.title('매질에 따른 굴절 함수 비교')
plt.legend()
plt.grid(True)
plt.show()

이 그래프를 통해 각 매질에 따른 굴절 패턴을 비교할 수 있으며, 굴절률이 높을수록 빛이 법선 쪽으로 더 많이 꺾이는 것을 확인할 수 있습니다.

결론

빛의 굴절은 매질 간의 속도 차이에 의해 발생하며, 우리의 일상에서도 쉽게 관찰되는 물리 현상입니다.

스넬의 법칙은 이러한 굴절 현상을 수학적으로 설명하는 공식으로, 각도와 굴절률 사이의 정밀한 관계를 보여줍니다.

스넬의 법칙을 함수 그래프로 표현하면 입사각과 굴절각 사이의 비선형 관계를 직관적으로 파악할 수 있으며, 다양한 매질에 대한 비교 분석도 가능해집니다.

과학과 수학의 만남을 시각적으로 경험함으로써, 빛의 성질을 보다 깊이 이해할 수 있게 되는 것이 이 글의 핵심 목표였습니다.

728x90