Читайте также:
|
|
al1 |
fp1 |
fp2 |
0 X
Луч, выходящий из источника света под углом "al1" к оси "Х" падает на первую грань призмы под углом "fi1". Преломленный луч падает на вторую грань призмы под углом "fi3" и выходит под углом "al4" к оси "Х".
Алгоритм построения луча, проходящего через призму:
1) Строим призму при заданных углах "fp1", "fp2" и высоте "h" треугольника,
2) Определяем точку "2": y2=K*h; x2= K*a1; где 0<K<1; a1=h/tg(fp1);
3) Определяем точку "1": x1=x2-L*cos(al1); y1= y2-L*sin(al1); из которой в точку “2” проводим вектор заданной длины "L" под заданным углом al1.
4) Определяем угол падения луча: fi1=Pi/2+al1-fp1; угол преломления луча: fi2:=arcsin(sin(fi1)*n1/n2) и угол наклона луча к оси "Х": al2=al1+fi2-fi1.
5) Решая совместно уравнение для луча и стороны треугольника, определяем точку "3": x3= (x2*tg(al2)+a*tg(fp2)-y2)/(tg(al2)+tg(fp2)); y3:= (a-x3)*tg(fp2); где a= a1+a2; a2=h/tg(fp2); к которой проводим из т. "2" вектор.
6) Определяем угол падения луча: fi3= Pi/2-al2-fp2; угол преломления луча: fi4:=arcsin(sin(fi3)*n2/n1) и угол наклона луча к оси "Х": al4=al2+fi3-fi4.
7) Строим луч, выходящий из т. "3" в т. "4": x4=x3+L*cos(al4); y4=y3+L*sin(al4).
Рассмотрим задачу построения траектории лучей при отражении от параболического зеркала. Парабола описывается уравнением Y2 = 2*P*X, где X - ось параболы. Фокус параболы находится в точке Xf = P/2, Yf = 0. Приведем алгоритм построения отраженного луча, падающего на параболическое зеркало параллельно оси "X". Известно, что в этом случае отраженные лучи проходят через фокус.
1) В диапазоне 0<=X<=X_Max строим параболу Y = ± Ö (2*P*X).
2) Выбираем некоторую точку на параболе с координатами 0 < Xp < X_Max, Yp= Ö(2*P*Xp). 3) Строим падающий луч - вектор с началом в точке X1=X_Max, Y1=Yp и концом в точке Xp, Yp. Строим отраженный луч - вектор с началом в точке Xp, Yp и концом в точке Y2=0, X2=Xp-Yp/tg(2*fi). Где fi - угол наклона касательной к параболе в точке падения луча. Tg(fi)=P/Yp, Tg(2*fi)=2*Tg(fi)/(1-Tg2(fi)).
a1 |
fi |
b |
f1 |
2*fi |
f2 |
fi3 |
*
Рассмотрим задачу построения траектории лучей при отражении от цилиндрического зеркала в поперечном сечении. Пусть луч выходит из источника с координатами (r1, f1) под углом a1 к оси "X". Радиус зеркала R. После отражения от поверхности в т. "2" луч приходит в т. "3". Обозначим b - угол падения луча в точке "2", f2 - угол с осью "X" радиуса-вектора т. "2". Очевидно, что R*sin(f2-a1)=r1*sin(f1-a1), b=f2-a1; - постоянная величина, f3=f2+2*b+Pi - рекуррентная зависимость. Для расчета координат в точке "i" запишем:
fi = fi-1 +2*b+Pi; xi = R*cos(fi); yi = R*sin(fi); i = 3, 4,...
Алгоритм расчета траектории луча следующий:
1) Задаем R, r1, f1, a1 и вычисляем x1=r1*cos(f1), y1=r1*sin(f1).
2) Рисуем окружность радиуса R и вычисляем f2= a1+ arcsin(r1/R*sin(f1-a1)).
3) В цикле (до нажатия клавиши) вычисляем: x2=R*cos(f2), y2=R*sin(f2); рисуем вектор из т. "1" в т. "2", присваиваем: x1=x2, y1=y2, f2=f2+2*b+Pi;
Дата добавления: 2015-09-10; просмотров: 23 | Поможем написать вашу работу | Нарушение авторских прав |