找到点和车辆之间的角度

时间:2018-02-02 21:55:50

标签: algorithm math angle

Path of Vehicle

根据上图,我试图拍摄黑墙后面或黑墙前面的物体(点)的照片。蓝色的墙壁是一个玻璃隔断,允许相机透过墙壁看到并拍照。如果车辆上的摄像机角度从黑色墙壁反弹,则无法拍摄到无法看到物体的图像。如果通过蓝色分区看到,相机可以拍照。

给出物体的笛卡尔点,并给出了墙壁与车辆路径的距离。

我正在使用毕达哥拉斯定理和一些直角三角测量法,但它们有时并不总是直角。

我将如何解决此问题或首先启动它?

编辑:

对于输出,笛卡尔坐标为:

  • 墙壁与车辆路径的距离:2
  • 对于蓝色分隔墙:开始(3,2),结束(5,2)
  • 物体位于:(2,3),(6,3)

输出应为2,因为问题会尝试拍摄每个对象的图片,但可能包含所有对象的图片数量最少。

1 个答案:

答案 0 :(得分:0)

看起来你只需要一种计算矢量之间角度的方法。使用dot product dot(a,b)和此身份:

|a||b|cos(t) = dot(a, b)

其中ab是你的向量,t是它们之间的角度,你可以找到任意两个向量之间的角度。

要真正了解汽车是否可以通过玻璃看到物体,您可以通过以下方式执行此操作:

1. Find the angle between the car's velocity and the near edge of the wall/glass interface.
2. Find the angle between the car's velocity and the far edge of the wall/glass interface.
3. Find the angle between the car's velocity and the look vector from the car to the object.
4. Check if Angle(1) < Angle(3) < Angle(2).

这不是计算效率最高的计算方法,但我不想把所有的乐趣带走,我认为这是一种相当容易理解的方法。