如何找到三角形的第三个坐标

时间:2012-06-13 07:17:45

标签: math geometry trigonometry equation

这不是作业。我们正在尝试在项目的圆圈之间建立双连接线。

给定任何类型的三角形(因为它将被旋转)

  • AB已知
  • AC已知
  • BC知道哪里
  • AB等于BC(它们都是圆的半径)

A点是(x1,y1)并且是已知的。它是圆的中心点。 B点是(x2,y2)并且是已知的。它是圆的边缘上连接到远程圆的中心的点。

C点未知(x3,y3),正是我们想要弄清楚的。我认为我们需要使用余弦定律,但到目前为止它还没有成功。

感谢任何可以提供帮助的人!

2 个答案:

答案 0 :(得分:2)

你获得答案所需的信息比你需要的更多,而且与余弦定律无关

基本上你只需要A,B,AC和BC

  1. 您绘制一个圆圈,以A为中心,AC为边缘

  2. 您绘制另一个圆圈,以B为中心,BC为边缘

  3. 这两个圆圈将有两个相交点,它们是C

    的两个可能位置

    把它放在数学中:

    你有两个二元二次方程:

    • (x-x1)^ 2 +(y-y1)^ 2 = AC ^ 2
    • (x-x2)^ 2 +(y-y2)^ 2 = BC ^ 2

    你需要从这两个方程得到(x,y)

答案 1 :(得分:1)

可以使用余弦定律,因为你知道三角形(AB),(BC)和(AC)三边的长度。余弦定律表明

(BC)^2 = (AC)^2 + (AB)^2 - 2 (AC)(AB) cos theta

其中theta是顶点A处三角形的内角。重新排列为

theta = acos(((BC)^2 - (AC)^2 - (AB)^2)/(-2 (AC)(AB)))

然后你的回答是(用向量表示法):

(x,y) = (x1,y1) + (AC)*(v1,v2)

其中(v1,v2)是从A到C的方向上的单位向量。(,标量符号,x=x1+(AC)*v1y=y1+(AC)*v2)。我们可以通过将单位矢量从A旋转到B以角度θ:

来获得v1和v2
v1 = (cos(theta)*(x2-x1) + sin(theta)*(y2-y1))/(AB)
v2 = (cos(theta)*(y2-y1) - sin(theta)*(x2-x1))/(AB)

翻转theta的标志以获得两个解决方案中的另一个。

请注意,可以通过观察:

来避免计算theta
cos(theta) = ((BC)^2 - (AC)^2 - (AB)^2)/(-2 (AC)(AB))
sin(theta) = sqrt(1-((BC)^2 - (AC)^2 - (AB)^2)/(-2 (AC)(AB))^2)

可能比三角函数更快地评估。