一种查找发射光线的角度以便击中目标的方法。已知源和目标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一种查找发射光线的角度以便击中目标的方法。已知源和目标相关的知识,希望对你有一定的参考价值。

我想制作一个AI,决定从它的位置准确地向目标射出反射激光,从像镜子一样稳定,不动的光滑表面反射。

一种选择是旋转光线直到它找到撞击镜子的位置,以便激光在反射后撞击目标。但我想考虑除了明显的蛮力方法之外的更多选择。

答案

enter image description here

  1. 找到从Player(P)到反射平面的垂直交点(C)。
  2. 然后找到P的转置点(T)意义,C将是T和P的中心点。
  3. 从AI(A)到T的Raycast。让命中点在反射平面上为X. 或者你可以忽略第3点射向Vector(T-A)

然后X将是AI应该击中的点。您可以尝试使用此链接查找垂直交叉点: http://www.ambrsoft.com/TrigoCalc/Plan3D/PlaneLineIntersection_.htm

另一答案

您正在寻找源的实际位置和目标在镜子中的视在位置之间的向量。

  1. 镜子中目标的明显位置就是它在镜子平面上反射的实际位置
  2. 两点A和B之间的矢量是B-A

以上是关于一种查找发射光线的角度以便击中目标的方法。已知源和目标的主要内容,如果未能解决你的问题,请参考以下文章

Unity 中的光线投射和计时器问题

AEJoy —— 表达式之模拟超越与反弹JS

为啥我的光线投射会击中错误的对象?

LTE 下行SINR测量

LTE 下行SINR测量

故意返回 NaN