椭圆光学性质讲解+例题+动态演示
在高中数学的圆锥曲线部分,我们不仅会接触到繁杂的代数运算,更会领略到几何本身的极致之美。其中,椭圆的光学性质无疑是最令人着迷的定理之一。
本文将通过数学推导、实际应用、代码可视化以及经典例题,带你全方位、深入浅出地吃透椭圆的光学性质。
一、 什么是椭圆的光学性质?
椭圆的光学性质定理:
从椭圆的一个焦点发出的光线,经过椭圆内壁反射后,反射光线必经过椭圆的另一个焦点。
在现实生活中,这个性质有非常多奇妙的应用。例如回音壁(Whispering Gallery) 。如果你在一个椭圆形房间的一个焦点处小声说话,声音遇到墙壁反射后,会全部汇聚到另一个焦点处。因此,站在另一个焦点处的人可以非常清晰地听到你的耳语,而房间里其他人却听不清。医学上的体外碎石机也是利用这个原理:将声波发射源放在一个焦点,将患者体内的结石定位在另一个焦点,高能声波经过椭圆面反射后全部汇聚于结石处,从而击碎结石而不伤及周围组织。
二、 【HTML/JS 可视化演示
为了让大家更直观地感受这一性质,整了一个基于HTML5 Canvas的网页动画。
你可以直接复制下方代码,保存为 ellipse.html,用浏览器打开,就能看到光线在焦点间反射的动画效果!

html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>椭圆的光学性质动态演示</title>
<style>
body {
display: flex; flex-direction: column; align-items: center;
background-color: #f0f4f8; font-family: "Microsoft YaHei", sans-serif;
margin: 0; padding: 20px;
}
canvas {
background: #1a1a1a; box-shadow: 0 10px 30px rgba(0,0,0,0.3);
border-radius: 12px; margin-top: 20px;
}
.info { color: #333; max-width: 600px; text-align: center; line-height: 1.6; }
</style>
</head>
<body>
<h2>椭圆的光学性质演示</h2>
<div class="info">
观察绿色光线:从左焦点 $F_1$ 发出的光,无论打在椭圆的哪一点,其反射光线必过右焦点 $F_2$。<br>
<span style="color:#00ff00;">绿线代表光路</span>,<span style="color:#ffcc00;">黄线代表切线</span>,<span style="color:#00ccff;">蓝线代表法线</span>。
</div>
<canvas id="canvas" width="800" height="500"></canvas>
<script>
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
const cx = 400, cy = 250; // 中心
const a = 300, b = 180; // 长短半轴
const c = Math.sqrt(a*a - b*b); // 焦距
let angle = 0; // 动画角度
function draw() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
// 1. 画椭圆
ctx.beginPath();
ctx.ellipse(cx, cy, a, b, 0, 0, 2 * Math.PI);
ctx.strokeStyle = 'white';
ctx.lineWidth = 2;
ctx.stroke();
// 2. 画焦点
const f1x = cx - c, f1y = cy;
const f2x = cx + c, f2y = cy;
ctx.fillStyle = '#ff3366';
ctx.beginPath(); ctx.arc(f1x, f1y, 6, 0, 2 * Math.PI); ctx.fill();
ctx.beginPath(); ctx.arc(f2x, f2y, 6, 0, 2 * Math.PI); ctx.fill();
ctx.fillStyle = 'white'; ctx.font = "16px Arial";
ctx.fillText("F1", f1x - 25, f1y - 10); ctx.fillText("F2", f2x + 10, f2y - 10);
// 3. 计算椭圆上的动点 P
const px = cx + a * Math.cos(angle);
const py = cy + b * Math.sin(angle);
// 4. 画光路 (F1 -> P -> F2)
ctx.beginPath();
ctx.moveTo(f1x, f1y); ctx.lineTo(px, py); ctx.lineTo(f2x, f2y);
ctx.strokeStyle = '#00ff00'; ctx.lineWidth = 2; ctx.stroke();
// 画点 P
ctx.fillStyle = 'white';
ctx.beginPath(); ctx.arc(px, py, 4, 0, 2 * Math.PI); ctx.fill();
ctx.fillText("P", px + 10, py - 10);
// 5. 画切线和法线
// 椭圆 x^2/a^2 + y^2/b^2 = 1 在 (x0, y0) 的切线方程为: x0*x/a^2 + y0*y/b^2 = 1
// 切线斜率 k = -(b^2 * (px-cx)) / (a^2 * (py-cy))
const dx = px - cx;
const dy = py - cy;
const k_tangent = -(b*b * dx) / (a*a * dy);
// 绘制切线
const lineLength = 200;
const tx1 = px - lineLength, ty1 = py - k_tangent * lineLength;
const tx2 = px + lineLength, ty2 = py + k_tangent * lineLength;
ctx.beginPath(); ctx.moveTo(tx1, ty1); ctx.lineTo(tx2, ty2);
ctx.strokeStyle = 'rgba(255, 204, 0, 0.7)'; ctx.setLineDash([5, 5]); ctx.stroke();
// 绘制法线
const k_normal = -1 / k_tangent;
const nx1 = px - lineLength*0.3, ny1 = py - k_normal * lineLength*0.3;
const nx2 = px + lineLength*0.3, ny2 = py + k_normal * lineLength*0.3;
ctx.beginPath(); ctx.moveTo(nx1, ny1); ctx.lineTo(nx2, ny2);
ctx.strokeStyle = 'rgba(0, 204, 255, 0.7)'; ctx.setLineDash([5, 5]); ctx.stroke();
ctx.setLineDash([]); // 重置虚线
angle += 0.005;
requestAnimationFrame(draw);
}
draw();
</script>
</body>
</html>
三、 数学原理解析(如何证明?)
光学的反射定律告诉我们:入射角等于反射角 (即入射光线和反射光线与法线的夹角相等,或者说它们与切线的夹角相等)。因此,要证明椭圆的光学性质,只需证明:焦点到椭圆上一点的连线,与该点处的切线夹角相等。
我们利用**最短光程原理(费马原理)**与几何法来证明这件优美的事情。
证明思路:
设椭圆为 x2a2+y2b2=1\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1a2x2+b2y2=1,焦点为 F1,F2F_1, F_2F1,F2,点 PPP 为椭圆上任意一点。画出点 PPP 处的切线 lll。
我们要证明:直线 PF1PF_1PF1 和 PF2PF_2PF2 与切线 lll 构成的夹角 α\alphaα 和 β\betaβ 相等。
- 根据椭圆的定义,对于椭圆上的点 PPP,有 PF1+PF2=2aPF_1 + PF_2 = 2aPF1+PF2=2a。
- 假设在切线 lll 上存在异于 PPP 的另一点 QQQ。
- 因为点 QQQ 在切线上,且除切点 PPP 外,切线上的所有点都在椭圆外部。
- 结合椭圆的几何性质,对于椭圆外的任意一点 QQQ,必有 QF1+QF2>2aQF_1 + QF_2 > 2aQF1+QF2>2a。
- 因此,PF1+PF2<QF1+QF2PF_1 + PF_2 < QF_1 + QF_2PF1+PF2<QF1+QF2 恒成立。这就意味着,在直线 lll 上,点 PPP 是到 F1F_1F1 和 F2F_2F2 距离之和最短的点!
- 根据**"将军饮马"模型**(轴对称求最短路径问题),如果要在直线 lll 上找一点使其到同侧两点 F1,F2F_1, F_2F1,F2 距离之和最短,该点与两点连线与直线的夹角必然相等。
- 故而,∠F1PA=∠F2PB\angle F_1 P A = \angle F_2 P B∠F1PA=∠F2PB (即入射角等于反射角)。
证毕。
四、 经典例题与图解解析
椭圆的光学性质在高考和各类数学竞赛中常常作为大题的"压轴背景"出现,以下为你拆解几道经典例题。
【例题 1:光线路径的周长问题】
题目:
已知椭圆 C:x225+y29=1C: \frac{x^2}{25} + \frac{y^2}{9} = 1C:25x2+9y2=1 的左右焦点分别为 F1,F2F_1, F_2F1,F2。一束光线从左焦点 F1F_1F1 发出,经过椭圆上一点 PPP 反射后,再经过椭圆上一点 QQQ 反射,最后回到点 F1F_1F1。求光线所走过的总路程(即 △PF1Q\triangle PF_1Q△PF1Q 的周长)。
【图解与解析】
根据椭圆的光学性质:
- 从 F1F_1F1 发出的光,经 PPP 反射后,必经过 F2F_2F2。
- 光线继续行进打在椭圆上的点 QQQ,此时相当于光从 F2F_2F2 发出打在 QQQ 点。
- 经 QQQ 反射后,光线必再次经过另一个焦点,即回到 F1F_1F1。
因此,光线的实际路径就是 △PF1Q\triangle PF_1Q△PF1Q 的周长。
由于光线路径是 F1→P→Q→F1F_1 \to P \to Q \to F_1F1→P→Q→F1,而由光学性质知该路线必经过 F2F_2F2。所以路径其实分为两段穿过焦点的折线:
- 第一段折线:F1→P→F2F_1 \to P \to F_2F1→P→F2。由椭圆定义,PF1+PF2=2aPF_1 + PF_2 = 2aPF1+PF2=2a。
- 第二段折线:F2→Q→F1F_2 \to Q \to F_1F2→Q→F1。由椭圆定义,QF1+QF2=2aQF_1 + QF_2 = 2aQF1+QF2=2a。
总路程 L=(PF1+PF2)+(QF1+QF2)=2a+2a=4aL = (PF_1 + PF_2) + (QF_1 + QF_2) = 2a + 2a = 4aL=(PF1+PF2)+(QF1+QF2)=2a+2a=4a。
在本题中,a2=25 ⟹ a=5a^2 = 25 \implies a = 5a2=25⟹a=5。
所以,光线走过的总路程为 4×5=204 \times 5 = 204×5=20。
【例题 2:切线与角平分线的高阶运用】
题目:
已知椭圆 x24+y23=1\frac{x^2}{4} + \frac{y^2}{3} = 14x2+3y2=1 的焦点为 F1,F2F_1, F_2F1,F2。点 P(1,32)P(1, \frac{3}{2})P(1,23) 在椭圆上,直线 lll 为椭圆在点 PPP 处的切线。求证:法线平分 ∠F1PF2\angle F_1PF_2∠F1PF2。
【解析】
这是一道非常经典的验证性题目。
由椭圆方程知 a=2,b=3a=2, b=\sqrt{3}a=2,b=3 ,焦点 F1(−1,0),F2(1,0)F_1(-1, 0), F_2(1, 0)F1(−1,0),F2(1,0)。
因为点 P(1,32)P(1, \frac{3}{2})P(1,23),我们先求两焦半径所在直线的斜率:
kPF1=3/2−01−(−1)=34kPF2=3/2−01−1→斜率不存在(垂直于x轴) \begin{aligned} k_{PF_1} &= \frac{3/2 - 0}{1 - (-1)} = \frac{3}{4} \\ k_{PF_2} &= \frac{3/2 - 0}{1 - 1} \to \text{斜率不存在(垂直于x轴)} \end{aligned} kPF1kPF2=1−(−1)3/2−0=43=1−13/2−0→斜率不存在(垂直于x轴)
所以 PF2PF_2PF2 在直线 x=1x = 1x=1 上。
利用公式,椭圆在点 (x0,y0)(x_0, y_0)(x0,y0) 处的切线方程为 x0xa2+y0yb2=1\frac{x_0x}{a^2} + \frac{y_0y}{b^2} = 1a2x0x+b2y0y=1。
代入 P(1,32)P(1, \frac{3}{2})P(1,23) 得到切线 lll 的方程:
1⋅x4+32y3=1 ⟹ x+2y−4=0 \frac{1 \cdot x}{4} + \frac{\frac{3}{2} y}{3} = 1 \implies x + 2y - 4 = 0 41⋅x+323y=1⟹x+2y−4=0
切线 lll 的斜率 kl=−12k_l = -\frac{1}{2}kl=−21。
法线 nnn 与切线垂直,故法线的斜率 kn=2k_n = 2kn=2。
法线 nnn 的方程为:y−32=2(x−1) ⟹ 4x−2y−1=0y - \frac{3}{2} = 2(x - 1) \implies 4x - 2y - 1 = 0y−23=2(x−1)⟹4x−2y−1=0。
接下来验证法线平分夹角。我们计算法线到 PF1PF_1PF1 和 PF2PF_2PF2 的夹角:
直线 PF1PF_1PF1 斜率 k1=34k_1 = \frac{3}{4}k1=43,法线斜率 kn=2k_n = 2kn=2。它们夹角的正切值:
tanθ1=∣2−341+2×34∣=∣54104∣=12 \tan \theta_1 = \left| \frac{2 - \frac{3}{4}}{1 + 2 \times \frac{3}{4}} \right| = \left| \frac{\frac{5}{4}}{\frac{10}{4}} \right| = \frac{1}{2} tanθ1= 1+2×432−43 = 41045 =21
对于直线 PF2PF_2PF2 (斜率无穷大),与斜率为 2 的直线的夹角正切值:
由于法线与 xxx 轴夹角的正切是 2,而 PF2PF_2PF2 垂直 xxx 轴。
tanθ2=∣cot(arctan2)∣=12 \tan \theta_2 = \left| \cot(\arctan 2) \right| = \frac{1}{2} tanθ2=∣cot(arctan2)∣=21
因为 tanθ1=tanθ2\tan \theta_1 = \tan \theta_2tanθ1=tanθ2,所以在第一象限夹角相等。
结论: 椭圆在该点的法线平分焦点三角形的顶角,等价于反射定律(入射角等于反射角)。
结语
椭圆的光学性质牛福克拉斯!
💡求求求求:
别忘了点个赞+收藏哦!