我有两条线假设一条是雷,另一条是墙。所以,当Ray撞到墙上时,它会反射回来。我想知道Ray和墙的交点以及反射的线点或方程。壁线始终垂直于x轴或y轴。
例如,Ray线点为(0, 2)
和(3, 0)
。壁点为(0, 0)
和(2, 1)
。我必须将其转换为Python程序。所以,如果任何人都可以用编程(特定算法)解释那些对我有帮助的方法。
提前致谢
答案 0 :(得分:0)
射线线点为(0,2)和(3,0)
(x0, y0) = (0, 2)
(x1, y1) = (3, 0)
因此光线具有参数方程
x = x0 + t * (x1 - x0) //here 0 + 3 * t
y = y0 + t * (y1 - y0) //here 2 - 2 * t
现在你必须首先找到哪个坐标到达边界 - 求解方程式
x0 + t * (x1 - x0) = xb
y0 + t * (y1 - y0) = yb
并获得较小的t
值镜像点成为参数方程的新基点。如果遇到垂直边框,x分量会改变其符号,则y分量保持不变。如果你遇到水平边框 - 反之亦然。