一种找到发射射线以使其击中目标的角度的方法。已知来源和目标
A way to find the angle at which to emit a ray so that it hits the target. With the source and target known
我想制作一个 AI,它可以决定从目标的位置准确地向目标发射反射激光,从稳定的、不动的光滑表面(如镜子)反射。
一种选择是旋转光线,直到找到打到镜子的位置,使激光反射后打到目标上。但我想考虑除了明显的蛮力方法之外的更多选择。
您正在寻找跨越源的实际位置和目标在镜子中的表观位置之间的向量。
- 目标在镜子中的表观位置就是它在镜子平面上反射的实际位置
- 两点A和B之间的向量是B-A
- 求Player(P)到反射平面的垂直交点(C)
- 然后找到P的移调点(T)。也就是说,C 将是 T 和 P 的中心点。
- 从 AI(A) 到 T 的光线投射。让命中点在反射平面上X。
要么
您可以忽略第 3 个点并朝 Vector (T-A) 射击
那么X就是AI应该命中的点。
您可以试试这个 link 来找到垂直交点:
http://www.ambrsoft.com/TrigoCalc/Plan3D/PlaneLineIntersection_.htm
我想制作一个 AI,它可以决定从目标的位置准确地向目标发射反射激光,从稳定的、不动的光滑表面(如镜子)反射。
一种选择是旋转光线,直到找到打到镜子的位置,使激光反射后打到目标上。但我想考虑除了明显的蛮力方法之外的更多选择。
您正在寻找跨越源的实际位置和目标在镜子中的表观位置之间的向量。
- 目标在镜子中的表观位置就是它在镜子平面上反射的实际位置
- 两点A和B之间的向量是B-A
- 求Player(P)到反射平面的垂直交点(C)
- 然后找到P的移调点(T)。也就是说,C 将是 T 和 P 的中心点。
- 从 AI(A) 到 T 的光线投射。让命中点在反射平面上X。
要么 您可以忽略第 3 个点并朝 Vector (T-A) 射击
那么X就是AI应该命中的点。
您可以试试这个 link 来找到垂直交点:
http://www.ambrsoft.com/TrigoCalc/Plan3D/PlaneLineIntersection_.htm