К вопросам 8, 9, 10

advertisement
ПЕРЕСЕЧЕНИЕ СВЕТОВОГО ЛУЧА/ТРАЕКТОРИИ ЧАСТИЦЫ С ОТРАЖАЮЩЕЙ КРИВОЙ
Нахождение точки отражения от кривой. Пусть задана начальная точка светового
луча/траектории частицы
𝑝 = (𝑥0 , 𝑦0 ),
направляющий вектор/вектор скорости
𝑣⃗ = (𝑢0 , 𝑣0 )
и отражающая кривая
𝐹(𝑥, 𝑦) = 𝐶.
Тогда уравнение траектории записывается в виде
𝑥 =𝑥 +𝑡⋅𝑢
{𝑦 = 𝑦0 + 𝑡 ⋅ 𝑣0 ,
0
0
и для нахождения точки пересечения этой траектории с отражающей кривой – точки
отражения – нужно подставить эти уравнения в уравнение кривой
𝐹(𝑥0 + 𝑡 ⋅ 𝑢0 , 𝑦0 + 𝑡 ⋅ 𝑣0 ) = 𝐶
и решить полученное уравнение относительно параметра 𝑡.
Корни этого уравнения 𝑡𝑖 позволят отыскать все точки пересечения
𝑝𝑖 = 𝑝 + 𝑡𝑖 𝑣⃗ = (𝑥0 + 𝑡𝑖 𝑢0 , 𝑦0 + 𝑡𝑖 𝑣0 ).
Остается только понять, в какой из них будет происходить отражение. Рассмотрим
следующий пример.
Отражение от эллипса. Пусть эллипс имеет уравнение
𝑥2 𝑦2
+
= 1.
𝑎2 𝑏 2
Траектория записывается в виде
𝑥 =𝑥 +𝑡⋅𝑢
{𝑦 = 𝑦0 + 𝑡 ⋅ 𝑣0 ,
0
0
и после подстановки в уравнение эллипса получаем
(𝑥0 + 𝑡 ⋅ 𝑢0 )2 (𝑦0 + 𝑡 ⋅ 𝑣0 )2
+
= 1.
𝑎2
𝑏2
После раскрытия скобок получается квадратное уравнение
𝑢02 𝑣02 2
𝑥0 𝑢0 𝑦0 𝑣0
𝑥02 𝑦02
( 2 + 2 ) 𝑡 + 2 ( 2 + 2 ) 𝑡 + ( 2 + 2 ) = 1.
𝑎
𝑏
𝑎
𝑏
𝑎
𝑏
Если оно не имеет корней, то траектория не пересекается с эллипсом. Если имеется пара
корней, то траектории пересекается с эллипсом дважды.
Посмотрим, какие упрощения возникают, когда начальная точка траектории (𝑥0 , 𝑦0 )
𝑥2
𝑦2
лежит на самом эллипсе, то есть 𝑎02 + 𝑏02 = 1.
В этом случае последнее слагаемое в уравнение можно заменить на 1, и оно приобретает
вид
(
𝑢02 𝑣02 2
𝑥0 𝑢0 𝑦0 𝑣0
+ 2 ) 𝑡 + 2 ( 2 + 2 ) 𝑡 + 1 = 1,
2
𝑎
𝑏
𝑎
𝑏
или
𝑢02 𝑣02
𝑥0 𝑢0 𝑦0 𝑣0
( 2 + 2 ) 𝑡 2 + 2 ( 2 + 2 ) 𝑡 = 0.
𝑎
𝑏
𝑎
𝑏
У этого уравнения есть один тривиальный корень 𝑡 = 0, который соответствует начальной
точке (𝑥0 , 𝑦0 ), и второй корень
𝑥0 𝑢0 𝑦0 𝑣0
2 + 𝑏2
𝑡1 = −2 𝑎 2
.
𝑢0 𝑣02
+
𝑎2 𝑏 2
После умножения числителя и знаменателя на 𝑎2 𝑏 2 он приобретает более компактный
вид
𝑥0 𝑢0 𝑏 2 + 𝑦0 𝑣0 𝑎2
𝑡1 = −2
𝑢02 𝑏 2 + 𝑣02 𝑎2
и для второй точки пересечения с эллипсом получаем формулу
𝑥1
𝑥0
𝑥0 𝑢0 𝑏 2 + 𝑦0 𝑣0 𝑎2 𝑢0
𝑝1 = ( ) = ( ) − 2
( )
𝑦1
𝑦0
𝑣0
𝑢02 𝑏 2 + 𝑣02 𝑎2
Если все это делается для построения траектории светового луча/частицы внутри
эллиптического резонатора/бильярда, то стоит напомнить формулу отражения
𝑣⃗1 = 𝑣⃗ − 2(𝑣⃗ ⋅ 𝑛⃗⃗)𝑛⃗⃗
и формулу для вычисления нормального вектора к кривой 𝐹(𝑥, 𝑦) = 𝐶
𝐹′
⃗𝑁⃗ = ( 𝑥 ).
𝐹𝑦′
Для эллипса это дает
2𝑥
2
⃗⃗ = ( 𝑎 )
𝑁
2𝑦
𝑏2
а после умножения на 𝑎2 𝑏 2 и деления на 2
⃗⃗ = (
𝑁
𝑥𝑏 2
)
𝑦𝑎2
Для нахождения единичного вектора нормали остается воспользоваться формулой 𝑛⃗⃗ =
⃗⃗ /|𝑁
⃗⃗|.
𝑁
Отражение от окружности. Это еще более простая задача, но и более важная, так
как сферические зеркала применяются всюду в оптике. Например, в лазерном
резонаторе. Итак, уравнение окружности с центром в точке 𝑜 = (𝑎, 𝑏) и радиусом 𝑅 имеет
вид
(𝑥 − 𝑎)2 + (𝑦 − 𝑏)2 = 𝑅 2 .
Будем считать, что световой луч выходит из точки
𝑝 = (𝑥0 , 𝑦0 )
и имеет единичный направляющий вектор 𝑣⃗, |𝑣⃗| = 1
𝑣⃗ = (𝑢0 , 𝑣0 ).
Траектория светового луча записывается в виде
𝑥 =𝑥 +𝑡⋅𝑢
{𝑦 = 𝑦0 + 𝑡 ⋅ 𝑣0 ,
0
0
и после подстановки в уравнение окружности получаем
(𝑥0 + 𝑡 ⋅ 𝑢0 − 𝑎)2 + (𝑦0 + 𝑡 ⋅ 𝑣0 − 𝑏)2 = 𝑅 2 .
После раскрытия скобок получается квадратное уравнение
(𝑢02 + 𝑣02 )𝑡 2 + 2((𝑥0 − 𝑎)𝑢0 + (𝑦0 − 𝑏)𝑣0 )𝑡 + ((𝑥 − 𝑎)2 + (𝑦 − 𝑏)2 ) = 𝑅 2 .
С учетом 𝑢02 + 𝑣02 = |𝑣⃗| = 1, имеем
𝑡 2 + 2((𝑥0 − 𝑎)𝑢0 + (𝑦0 − 𝑏)𝑣0 )𝑡 + ((𝑥 − 𝑎)2 + (𝑦 − 𝑏)2 ) − 𝑅 2 = 0.
Если это квадратное уравнение не имеет корней, то луч не пересекается с окружностью.
Если имеется пара корней, то луч пересекается с окружностью дважды. Вот как выглядит
решение этого уравнения
𝑡1,2 = −((𝑥0 − 𝑎)𝑢0 + (𝑦0 − 𝑏)𝑣0 ) ±
±√((𝑥0 − 𝑎)𝑢0 + (𝑦0 − 𝑏)𝑣0 ) + 𝑅 2 − ((𝑥 − 𝑎)2 + (𝑦 − 𝑏)2 ).
На самом деле удобнее искать точку пересечения, используя бескоординатную
форму уравнения, а именно
(𝑝 + 𝑡𝑣⃗ − 𝑜)2 = 𝑅 2 ,
что соответствует следующему рисунку
Раскрывая скобки, имеем
𝑣⃗ 2 𝑡 2 − 2𝑣⃗ ⋅ (𝑝 − 𝑜) + (𝑝 − 𝑜)2 − 𝑅 2 = 0.
С учетом |𝑣⃗| = 1
𝑡 2 − 2𝑣⃗ ⋅ (𝑝 − 𝑜) + (𝑝 − 𝑜)2 − 𝑅 2 = 0.
Корни этого уравнения имеют вид
2
𝑡1 = 𝑣⃗ ⋅ (𝑝 − 𝑜) − √(𝑣⃗ ⋅ (𝑝 − 𝑜)) + 𝑅 2 − (𝑝 − 𝑜)2
это соответствует ближней точке пересечения 𝑝′ = 𝑝 + 𝑡′𝑣⃗,
2
𝑡2 = 𝑣⃗ ⋅ (𝑝 − 𝑜) + √(𝑣⃗ ⋅ (𝑝 − 𝑜)) + 𝑅 2 − (𝑝 − 𝑜)2
это соответствует дальней точке пересечения 𝑝′′ = 𝑝 + 𝑡′′𝑣⃗.
Для окружности нормалью является радиус. Поэтому если отражение происходит в
точке 𝑝1, то единичный вектор нормали вычисляется по формуле
𝑛⃗⃗ =
𝑝1 − 𝑜
𝑅
А закон отражения записывается, как обычно
𝑣⃗1 = 𝑣⃗ − 2(𝑣⃗ ⋅ 𝑛⃗⃗)𝑛⃗⃗
Related documents
Download