根据上图,我试图拍摄黑墙后面或黑墙前面的物体(点)的照片。蓝色的墙壁是一个玻璃隔断,允许相机透过墙壁看到并拍照。如果车辆上的摄像机角度从黑色墙壁反弹,则无法拍摄到无法看到物体的图像。如果通过蓝色分区看到,相机可以拍照。
给出物体的笛卡尔点,并给出了墙壁与车辆路径的距离。
我正在使用毕达哥拉斯定理和一些直角三角测量法,但它们有时并不总是直角。
我将如何解决此问题或首先启动它?
编辑:
对于输出,笛卡尔坐标为:
输出应为2,因为问题会尝试拍摄每个对象的图片,但可能包含所有对象的图片数量最少。
答案 0 :(得分:0)
看起来你只需要一种计算矢量之间角度的方法。使用dot product dot(a,b)
和此身份:
|a||b|cos(t) = dot(a, b)
其中a
和b
是你的向量,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).
这不是计算效率最高的计算方法,但我不想把所有的乐趣带走,我认为这是一种相当容易理解的方法。