PE 144 Investigating multiple reflections of a laser beam (计算几何)
来源:互联网 发布:王洋java视频 编辑:程序博客网 时间:2024/05/22 05:17
Investigating multiple reflections of a laser beam
Problem 144
In laser physics, a "white cell" is a mirror system that acts as a delay line for the laser beam. The beam enters the cell, bounces around on the mirrors, and eventually works its way back out.
The specific white cell we will be considering is an ellipse with the equation 4x2 + y2 = 100
The section corresponding to −0.01 ≤ x ≤ +0.01 at the top is missing, allowing the light to enter and exit through the hole.
The light beam in this problem starts at the point (0.0,10.1) just outside the white cell, and the beam first impacts the mirror at (1.4,-9.6).
Each time the laser beam hits the surface of the ellipse, it follows the usual law of reflection "angle of incidence equals angle of reflection." That is, both the incident and reflected beams make the same angle with the normal line at the point of incidence.
In the figure on the left, the red line shows the first two points of contact between the laser beam and the wall of the white cell; the blue line shows the line tangent to the ellipse at the point of incidence of the first bounce.
The slope m of the tangent line at any point (x,y) of the given ellipse is: m = −4x/y
The normal line is perpendicular to this tangent line at the point of incidence.
The animation on the right shows the first 10 reflections of the beam.
How many times does the beam hit the internal surface of the white cell before exiting?
题意:
一束激光多次反射的研究
在激光物理学中,“白腔”指的是一个使激光束发生延迟的镜面系统。激光进入镜面系统后,最终会不断反射并重新射出。
在本题中考察的白腔系统是一个椭圆,其方程为4x2 + y2 = 100
在椭圆顶端割去了-0.01 ≤ x ≤ +0.01的区域,使得激光能够进入和离开白腔。
本题中,激光从白腔外的点(0.0,10.1)发出,首次接触镜面的位置是(1.4,-9.6)。每当激光击中椭圆表面时,它遵循反射定律“入射角等于反射角”,也就是说,入射光线和反射光线在入射点和法线的夹角相等。在左图中,红线表示的是激光前两次击中镜面的过程;蓝线表示的是激光第一次击中镜面时入射点的切线。对于椭圆的任意点(x,y),其切线的斜率m满足:m = -4x/y。法线垂直于入射点的切线。右侧的动画展现了激光束前十次反射的路径。在激光离开白腔之前,它在椭圆的内表面上击中了多少次?
题解:咋看这题有点难,其实很简单...将这束激光反射抽象成一幅平面图。
一个椭圆切线和水平线和其他角组成的平面。
那么椭圆切线组成的角的斜率设为:
和
因为: 和
又有:
所以:
有:
由上式:又可以得到出射线的斜率:
由图又可以知:出射线OB直线方程为: (c为斜率;d是截距)
将上式方程代入椭圆方程:
这样就可以不断模拟入射线和出射线了。
然后就可以写代码去模拟上面的计算。
最后求出了最终的答案。。。发现论坛里面的....哇。。。自己太菜了...
这图原来是这样的....
好漂亮啊....数学美...
- PE 144 Investigating multiple reflections of a laser beam (计算几何)
- poj 1263 Reflections (计算几何 反射)
- CodeForces 630 P. Area of a Star(计算几何)
- LightOJ1305 Area of a Parallelogram (计算几何)
- Reflections of a Human Translator on Machine Translation
- CodeForces P. Area of a Star【计算几何】
- multiple definition of 'a'
- [LightOJ 1292] Laser Shot (几何,判断共线)
- 山东省第四届省赛 A(计算几何)
- POJ 2986 A Triangle and a Circle(计算几何)
- hdu2108Shape of HDU 计算几何
- hdu4454Stealing a Cake+计算几何
- poj 2704 Line of Sight(数学型计算几何)
- poj 2074 Line of Sight(计算几何)
- hdu 4946 Area of Mushroom 计算几何(凸包)
- HDU 4946 - Area of Mushroom (计算几何 凸包)
- HDU 2108 Shape of HDU(计算几何)
- light oj 1211 - Intersection of Cubes (计算几何)
- leetcode No200. Number of Islands
- 操作系统——文件管理
- ueidtor 插入带尖括号内容,保存后再次编辑该内容,内容消失
- 现在的应届生普遍眼高手低,真的值得招吗?
- Gradient_patch_recovery, Z_Z posteriori error estimator
- PE 144 Investigating multiple reflections of a laser beam (计算几何)
- 多容器应用栈(node+主从redis)
- Android Webview清除缓存和Cookie
- 【Linux C++】拥抱C++,Mark一下
- mysql的联合索引使用
- 关于adb连接失败的问题
- QT之文本编辑器实现
- MySQL: ERROR 1040: Too many connections
- 1109学习记录 java script 基础知识实例