如何获得等腰三角形中的第三个点坐标?

时间:2014-07-28 18:23:23

标签: math geometry computational-geometry trigonometry

等腰三角形ABC
AB = AC = d_1
BC = d_2

A = (x_1, y_1)  
B = (x_2, y_2)  
C = (x_3, y_3)  

角度BAC =Φ
角度ABC =角度ACB =Θ

我想要一个x_3和y_3的等式(我知道会有两个值)
x_3 = ??
y_3 = ??

2 个答案:

答案 0 :(得分:2)

我可以解决这个问题。解决方案密钥是Cartesian Coordinate SystemPolar Coordinate System之间的转换。

img

答案 1 :(得分:0)

首先,你需要找到三角形的对称轴与其BC边的交点 - 让我们用D表示这一点(x, y)及其坐标AD = (x - x1, y - y1) BD = (x - x2, y - y2) 。那么你将有两个向量:

AD

这些载体应满足两个条件。条件#1是BD(x - x1) * (x - x2) + (y - y1) * (y - y2) = 0 正交性,可以表示为它们的点积相等为零:

BC

对于条件#2,您可以使用角度Phi或BD侧的长度 - 它取决于您,看起来您在输入数据方面具有一定的灵活性。具有角度的条件表示半角Phi的正切等于向量AD的长度除以向量sqrt((x - x2)^2 + (y - y2)^2) / sqrt((x - x1)^2 + (y - y1)^2) = tan(Phi / 2) 的长度:

BC

如果事先知道BD长度,条件#2会更简单 - 它只是说向量d2的长度等于sqrt((x - x2)^2 + (y - y2)^2) = d2 / 2 除以2 :

x

因此,您将获得一个包含变量yx的两个二次方程组的系统。在一般情况下解决这样一个系统很困难,但这种情况稍微简单一些,因为那里没有交叉产品yD

计算点C后,可以使用矢量方程找到三角形的第三个顶点(C = B + 2 * BD ):

{{1}}