看图 由右上图示例:
- 中心蓝色为玩家,怪物可以为360度任意方向
- 右上圆心的蓝色为怪物
- 玩家需要移动到怪物背后的红色区域的大圆位置,位置与圆相交,不在圆内或圆外
- 移动位置可以为 包含不限于 ABC 的任意角度
已知数据:
- 玩家坐标
- 怪物坐标
可变数据:
- 怪物外圆半径,此半径用于移动后距离怪物的距离
- 移动到怪物后方的角度,比如正后方B点(假设为0度), A点(假设为45度) C点(假设为-40度)
如何根据已知数据,获取ABC的坐标,
帮忙看下,给个思路,谢谢
看图 由右上图示例:
已知数据:
可变数据:
如何根据已知数据,获取ABC的坐标,
帮忙看下,给个思路,谢谢
用怪物坐标减去玩家坐标,得到一个向量
向量的y值比x值求反tan就是角度
然后根据到底是A还是C,加上或减去一个角度,假设角度是a
现在问题就是求从怪物坐标出发,角a的射线与怪物圆相交的交点
圆方程是(x-x0)^2+(y-y0)^2=r^2
射线方程是y-y0=k(x-x0),k=tan(a)
其中x0,y0是怪物坐标
联合一下,把2带入1,即可求得x,y