找到给定矢量和固定高度的点

时间:2017-01-19 05:22:05

标签: math vector

enter image description here

A点作为玩家的眼睛。

将B点作为障碍物的边缘。

C点是玩家可以看到的有限范围(C.y = B.y + 2)

如何使用给定的信息找到C点?

3 个答案:

答案 0 :(得分:1)

所以根据这个,如果你知道角度A那么B是相同的。如果您知道BC三角形的高度,那么您可以通过一些触发来解决到C的距离。

enter image description here

我自己不是数学天才,但这里是正确三角形的关系。

现在,如果我们调用BC三角形的右下角" D",我们就可以进行数学运算。我们将会寻找相邻方的长度:

Tan(B)= CD / DB | 从这开始。由于我们知道相反的情况并且我们想要找到相邻的,我们使用切线。

DB * Tan(B)= CD | 现在将两边乘以DB,将其移到左侧。

DB = CD / Tan(B)| 然后将双方划分为Tan(B)以自行获取未知数据库。

现在我们知道了,你可以插入数字。让我们说角度B = 45度,固定高度是2。

DB = 2 / tan(45)

DB = 2/1

DB = 2

(请原谅可怕的剪辑工作) enter image description here

因此Mathf类中存在这些函数,并且在尝试解决时只需参考图表。

也很晚,如果有人发现错误,请随时纠正。

答案 1 :(得分:0)

连接A和B的线是y = m * x + n

斜率:m =(By-Ay)/(Bx-Ax)

拦截:n = Ay-m * Ax

你已经有Cy = By + H

为了找到Cx,我们将上述所有内容插入到线方程中:

Cy = m * Cx + n

Cx =(By + H -n)/ m

答案 2 :(得分:0)

如果我们假设A点是坐标原点:

 C.Y = B.Y + H
 C.Y / B.Y = C.X / B.X   // triangles similarity
 C.X = B.X * (B.Y + H) / B.Y = B.X * (1 + H/B.Y)