我晕
初中数学题
第一步 要把坐标转换一下,Delphi是以左上角为0,0的
映射一下,把发射点变为 0,0
假设发射点为(x0,y0),真实点发坐标为(x1,y1)
则 新坐标映射公式为 x = x1 - x0; y = y0 - y1 ;(y取反值)
反向映射 为 x1 = x+x0; y1=y0-y;
原点知道,角度知道,很容易画线了吧?
原点(0,0) 计算直线另一点公式
tin(a)=y/x,壁是Y 则计算X 故 x = y/ tin(a) ; 是不是写成tin我就不太清楚了,数学公式没怎么用过,手上没Delphi.就是正切角.
碰撞反射没什么复杂的
左碰撞 角度 a 变成 a-Pi
右碰撞 角度 a 变成 a+Pi
只是数学题而已,代码就不用写了吧.
至于结束点 就是遇到物体结束的这个,就是沿路径检查而已.
可以反向检查,就是检查物体有没有落在路径之上.