计算三角形第三个点的坐标

时间:2010-10-07 16:43:02

标签: graphics coordinates trigonometry

好的,我知道这听起来像应该在math.stackoverflow.com上询问,但这是一个令人尴尬的简单数学,我忘记了高中,而不是高级研究生的东西!

我正在做一些图形编程,我有一个三角形。顺便提一下,这个三角形的两个边是相同的,但我不确定这是否相关。我有两个角(顶点)的坐标,但不是第三个(这些坐标是屏幕上的像素,如果相关的话)。我知道三方的长度。

如何确定未知顶点的坐标?

2 个答案:

答案 0 :(得分:2)

对于倾斜三角形:c ^ 2 = a ^ 2 + b ^ 2 - 2ab * cos(C)

其中a,b,c是边的长度(无论长度如何) A,B,C是与相同字母相对的角度。

使用上面的方法计算出你知道的一个端点的角度,然后使用角度,顶点的位置和相邻边之间的角度来确定未知顶点的位置。

问题的复杂性并不决定它应该继续发生哪个网站,而只是主题。所以你应该把它转到数学。

答案 1 :(得分:0)

编辑:我以前有一个严肃的脑力,但这应该有效。 使用law of cosines

/* use the law of cosines to get the angle of CAB */
c² = a² + b² - 2ab cos(Cangle)
cos(Cangle) = (a²+b²-c²) / 2ab
Cangle = acos((a²+b²-c²) / 2ab)

AB = B.xy - A.xy;
normalize(AB);
len = length(AC)
C.x = len*AB.x* cos(Cangle) * len*AB.y*sin(Cangle);
C.y = len*AB.x*-sin(Cangle) * len*AB.y*cos(Cangle);