跳到主要内容

折射定律和折射率

折射定律(斯涅尔定律)是描述光在折射时遵循的基本规律,折射率是描述介质光学性质的物理量。理解折射定律和折射率,掌握折射的规律,是学习光学和实际应用的基础。

什么是光的折射?

折射的定义

光的折射(Light Refraction):光从一种介质进入另一种介质时,改变传播方向的现象。

通俗理解:光的折射就是"光从一种介质进入另一种介质时改变方向",像"光从空气进入水中时改变方向"一样。

折射的特点

折射的特点

  1. 频率不变:折射前后频率不变(颜色不变)
  2. 速度改变:不同介质中光速不同(光速改变)
  3. 波长改变:速度改变,波长也改变(λ=vf\lambda = \frac{v}{f}
  4. 方向改变:传播方向改变(折射)

通俗理解

  • 折射后频率不变(颜色不变)
  • 折射后速度改变(不同介质中光速不同)
  • 折射后方向改变(折射)

折射的条件

折射的条件

  1. 两种介质:光从一种介质进入另一种介质
  2. 入射角不为零:入射角不为零(垂直入射时方向不变,但有速度变化)
  3. 两种介质折射率不同:两种介质折射率不同(折射率相同时不折射)

通俗理解

  • 两种介质:光从一种介质进入另一种介质(像"光从空气进入水")
  • 入射角不为零:入射角为零时方向不变(垂直入射)
  • 折射率不同:折射率相同时不折射

折射定律(斯涅尔定律)

折射定律的内容

折射定律(Law of Refraction,Snell's Law):

n1sinθ1=n2sinθ2n_1\sin\theta_1 = n_2\sin\theta_2

其中:

  • n1n_1:第一种介质的折射率
  • θ1\theta_1:入射角(入射光线与法线的夹角)
  • n2n_2:第二种介质的折射率
  • θ2\theta_2:折射角(折射光线与法线的夹角)

通俗理解

  • 入射角:光线"打过来"的角度
  • 折射角:光线"改变方向"的角度
  • 折射率越大,折射角越小(光向法线偏折)

折射定律的表述

折射定律的完整表述

  1. 入射光线、法线、折射光线在同一平面内:三者共面
  2. 入射角正弦与折射角正弦的比值等于两种介质折射率的比值n1sinθ1=n2sinθ2n_1\sin\theta_1 = n_2\sin\theta_2

通俗理解

  • 三条线(入射光线、法线、折射光线)在同一个平面
  • 入射角正弦 × 入射介质折射率 = 折射角正弦 × 折射介质折射率

折射方向

折射方向

  1. 从光疏介质到光密介质n1<n2n_1 < n_2):

    • 折射角 < 入射角
    • 光向法线偏折(靠近法线)
  2. 从光密介质到光疏介质n1>n2n_1 > n_2):

    • 折射角 > 入射角
    • 光远离法线偏折(远离法线)

通俗理解

  • 从空气到水(光疏到光密):光向法线偏折(靠近法线)
  • 从水到空气(光密到光疏):光远离法线偏折(远离法线)

折射率

折射率的定义

折射率(Refractive Index,nn):光在真空中的速度与光在该介质中的速度的比值。

n=cvn = \frac{c}{v}

其中:

  • nn:折射率(单位:1,无量纲)
  • cc:光在真空中的速度,c=2.998×108 m/sc = 2.998 \times 10^8 \text{ m/s}
  • vv:光在该介质中的速度(单位:m/s)

通俗理解:折射率就是"光速减慢的倍数",折射率越大,光速越慢。

折射率的特点

折射率的特点

  1. 无量纲:折射率是比值,没有单位
  2. 大于等于 1:折射率 1\ge 1(真空折射率为 1)
  3. 频率相关:不同频率的光在同一介质中折射率不同(色散)
  4. 温度相关:折射率与温度有关(温度变化,折射率变化)

通俗理解

  • 折射率没有单位(比值)
  • 真空折射率为 1(最小)
  • 不同颜色的光在同一介质中折射率不同(色散)

常见介质的折射率

常见介质的折射率(可见光,20°C):

介质折射率 nn光速 vv (m/s)
真空1.00003.00×1083.00 \times 10^8
空气(标准状况)1.00032.997×1082.997 \times 10^8
1.3332.25×1082.25 \times 10^8
玻璃(普通)1.5-1.91.62.0×1081.6-2.0 \times 10^8
钻石2.421.24×1081.24 \times 10^8
1.312.29×1082.29 \times 10^8

通俗理解

  • 真空:折射率 1(最大光速)
  • 空气:折射率约 1(接近真空)
  • 水:折射率 1.33(光速较慢)
  • 玻璃:折射率 1.5-1.9(光速较慢)
  • 钻石:折射率 2.42(光速很慢)

折射的应用

1. 透镜

透镜(Lens):利用折射改变光的方向,会聚或发散光线。

原理

  • 光通过透镜,发生折射
  • 遵循折射定律(斯涅尔定律)
  • 会聚或发散光线,形成像

应用

  • 凸透镜:会聚光线,可以成实像或虚像
  • 凹透镜:发散光线,总是成虚像
  • 眼镜:矫正视力(近视、远视)
  • 相机:成像(照相机、摄像机)

2. 棱镜

棱镜(Prism):利用折射和色散分离光。

原理

  • 光通过棱镜,发生折射
  • 不同频率的光折射率不同(色散)
  • 分离不同颜色的光(形成光谱)

应用

  • 色散:分离不同颜色的光(形成光谱)
  • 光谱仪:分析光的成分
  • 反射镜:利用全反射改变光的方向

3. 光纤

光纤(Optical Fiber):利用全反射传输光信号。

原理

  • 光在光纤中发生全反射(临界角)
  • 光沿着光纤传播(多次全反射)
  • 传输光信号(信息)

应用

  • 通信系统:光纤通信(长距离通信)
  • 互联网:光纤互联网
  • 医疗:内窥镜(光纤内窥镜)

实际应用

游戏开发

在游戏开发中,折射定律和折射率用于:

  • 图形渲染:模拟光的折射效果(如水下折射、玻璃折射)
  • 物理引擎:模拟光的折射和传播
  • 视觉效果:实现折射效果、色散效果
// 折射定律和折射率的应用
class SnellsLawRefractiveIndex {
static C = 299792458; // \text{光速} m/s(\text{真空中})

// \text{计算折射角}(\text{从入射角和折射率})
static calculateRefractionAngle(incidentAngle, n1, n2) {
// \text{斯涅尔定律}:n₁sin(θ₁) = n₂sin(θ₂)
// sin(θ₂) = (n₁/n₂)sin(θ₁)
const sinTheta2 = (n1 / n2) * Math.sin(incidentAngle * Math.PI / 180);

// \text{检查是否发生全反射}
if (Math.abs(sinTheta2) > 1) {
return null; // \text{全反射}
}

return Math.asin(sinTheta2) * (180 / Math.PI); // 转换为度
}

// 计算折射率(从光速)
static calculateRefractiveIndex(speedInMedium) {
// n = c/v
if (speedInMedium === 0) {
throw new Error("\text{介质中的光速不能为零}");
}
return this.C / speedInMedium;
}

// 计算介质中的光速(从折射率)
static calculateSpeedInMedium(refractiveIndex) {
// v = c/n
if (refractiveIndex <= 0) {
throw new Error("\text{折射率必须大于零}");
}
return this.C / refractiveIndex;
}

// 判断是否发生全反射
static isTotalInternalReflection(incidentAngle, n1, n2) {
// \text{全反射条件}:n₁ > n₂ \text{且} sin(θ₁) > n₂/n₁
if (n1 <= n2) {
return false; // \text{不会发生全反射}
}

const criticalAngle = Math.asin(n2 / n1) * (180 / Math.PI);
return incidentAngle > criticalAngle;
}

// 计算临界角
static calculateCriticalAngle(n1, n2) {
// \text{临界角}:sin(θ_c) = n₂/n₁
if (n1 <= n2) {
throw new Error("\text{临界角只存在于} n₁ > n₂ \text{的情况}");
}
return Math.asin(n2 / n1) * (180 / Math.PI); // 转换为度
}

// 计算波长(从频率和折射率)
static calculateWavelength(frequency, refractiveIndex = 1) {
// λ = v/f = (c/n)/f = c/(nf)
if (frequency === 0 || refractiveIndex <= 0) {
throw new Error("\text{频率和折射率必须大于零}");
}
return this.C / (refractiveIndex * frequency);
}

// 模拟光的折射(简化)
static simulateRefraction(incidentAngle, n1, n2) {
const refractionAngle = this.calculateRefractionAngle(incidentAngle, n1, n2);
const isTotalReflection = this.isTotalInternalReflection(incidentAngle, n1, n2);

if (isTotalReflection || refractionAngle === null) {
return {
incidentAngle,
n1,
n2,
isRefracted: false,
isTotalReflection: true,
refractionAngle: null
};
}

return {
incidentAngle,
n1,
n2,
isRefracted: true,
isTotalReflection: false,
refractionAngle
};
}
}

// 使用示例
let refractionAngle = SnellsLawRefractiveIndex.calculateRefractionAngle(30, 1.0, 1.5);
// 入射角 30°,空气折射率 1.0,玻璃折射率 1.5
// sin(θ₂) = (1.0/1.5) × sin(30°) = 0.333
// θ₂ = arcsin(0.333) ≈ 19.5°

let refractiveIndex = SnellsLawRefractiveIndex.calculateRefractiveIndex(2.25e8);
// 介质中的光速 2.25×10⁸ m/s(水)
// n = 3.00×10⁸ / 2.25×10⁸ = 1.33

let speedInMedium = SnellsLawRefractiveIndex.calculateSpeedInMedium(1.5);
// 折射率 1.5(玻璃)
// v = 3.00×10⁸ / 1.5 = 2.00×10⁸ m/s

let isTotalReflection = SnellsLawRefractiveIndex.isTotalInternalReflection(45, 1.5, 1.0);
// 入射角 45°,玻璃折射率 1.5,空气折射率 1.0
// 临界角:arcsin(1.0/1.5) ≈ 41.8°
// 45° > 41.8°,发生全反射(true)

let criticalAngle = SnellsLawRefractiveIndex.calculateCriticalAngle(1.5, 1.0);
// 玻璃折射率 1.5,空气折射率 1.0
// 临界角:arcsin(1.0/1.5) ≈ 41.8°

let wavelength = SnellsLawRefractiveIndex.calculateWavelength(6e14, 1.5);
// 频率 6×10¹⁴ Hz(可见光),折射率 1.5(玻璃)
// λ = 3.00×10⁸ / (1.5 × 6×10¹⁴) = 3.33×10⁻⁷ m = 333 nm

let refraction = SnellsLawRefractiveIndex.simulateRefraction(30, 1.0, 1.5);
// 入射角 30°,空气折射率 1.0,玻璃折射率 1.5
// 折射:true
// 全反射:false
// 折射角:约 19.5°

电子工程

在电子工程中,折射定律和折射率用于:

  • 光学系统:设计透镜、棱镜、光纤
  • 通信系统:光纤通信系统
  • 测量系统:光学测量系统

Arduino/Raspberry Pi

在 Arduino/Raspberry Pi 中,折射定律和折射率用于:

  • 传感器应用:光传感器、折射传感器
  • 实验项目:折射实验、全反射实验
  • 视觉应用:视觉系统、图像识别

常见问题

1. 折射角计算

问题:光从空气(n1=1.0n_1 = 1.0)进入水(n2=1.33n_2 = 1.33),入射角 30°,求折射角。

分析

n1sinθ1=n2sinθ2n_1\sin\theta_1 = n_2\sin\theta_2

1.0×sin(30°)=1.33×sinθ21.0 \times \sin(30°) = 1.33 \times \sin\theta_2

0.5=1.33×sinθ20.5 = 1.33 \times \sin\theta_2

sinθ2=0.51.330.376\sin\theta_2 = \frac{0.5}{1.33} \approx 0.376

θ2=arcsin(0.376)22.1°\theta_2 = \arcsin(0.376) \approx 22.1°

2. 折射率计算

问题:光在某种介质中的速度是 2.0×108 m/s2.0 \times 10^8 \text{ m/s},求该介质的折射率。

分析

n=cv=3.00×1082.0×108=1.5n = \frac{c}{v} = \frac{3.00 \times 10^8}{2.0 \times 10^8} = 1.5

3. 临界角计算

问题:光从玻璃(n1=1.5n_1 = 1.5)进入空气(n2=1.0n_2 = 1.0),求临界角。

分析

sinθc=n2n1=1.01.5=0.667\sin\theta_c = \frac{n_2}{n_1} = \frac{1.0}{1.5} = 0.667

θc=arcsin(0.667)41.8°\theta_c = \arcsin(0.667) \approx 41.8°

常见错误

  1. 符号错误:注意折射定律中的折射率顺序(n1sinθ1=n2sinθ2n_1\sin\theta_1 = n_2\sin\theta_2
  2. 单位错误:角度单位是度(°)或弧度(rad),注意换算
  3. 全反射判断错误:全反射只发生在从光密介质到光疏介质(n1>n2n_1 > n_2)且入射角大于临界角的情况

小结

折射定律和折射率的核心内容:

  1. 光的折射:光从一种介质进入另一种介质时,改变传播方向

  2. 折射定律(斯涅尔定律):n1sinθ1=n2sinθ2n_1\sin\theta_1 = n_2\sin\theta_2

    • 入射光线、法线、折射光线在同一平面内
    • 从光疏到光密:光向法线偏折
    • 从光密到光疏:光远离法线偏折
  3. 折射率n=cvn = \frac{c}{v}(光在真空中的速度与光在该介质中的速度的比值)

    • 真空:n=1n = 1(最小)
    • 其他介质:n>1n > 1
  4. 常见介质折射率

    • 空气:约 1.0
    • 水:约 1.33
    • 玻璃:约 1.5-1.9
    • 钻石:约 2.42
  5. 应用

    • 透镜(会聚或发散光线)
    • 棱镜(色散)
    • 光纤(全反射)

记住:折射定律 n1sinθ1=n2sinθ2n_1\sin\theta_1 = n_2\sin\theta_2,折射率 n=cvn = \frac{c}{v},从光疏到光密时光向法线偏折!