2009-02-24 52 views
2

好的,所以我需要让C走A到B的最短路径。A到B是我的直角三角形的斜边,我需要给C三角形的正切。我该如何做,并且公式是否有名字?我怎样才能找到直角三角形只使用斜边?

+0

我不太确定我理解这个问题。你提供哪些信息与之合作?只是点A和B,还是别的? – 2009-02-24 19:59:14

+0

如果你有一个角度或一个边,你会使用更多的trig或毕达哥拉斯。但只知道斜边的长度并不能告诉你很多。 – 2009-02-24 20:00:32

回答

1

Arctan会产生度数或弧度,因此您的A和B最有可能具有像(x,y)这样的坐标。如果我没有记错的话,那么你做了((By-Ay)/(Bx-Ax)),这里Bx是B的x坐标等。

如果A和B没有坐标,有意义。

+0

一个简单的问题,如果你从矢量角度考虑它。 – duffymo 2009-02-24 20:05:15

3

目前尚不清楚你问的是什么,但我认为你试图找到A-B线的角度。我将做出你知道的假设,或者可以计算出A和B的(x,y)坐标,否则你将无法解决问题。

这听起来像你已经概述了大部分的解决方案......角度将等于(y/x)距离的arctan。因此,如果我们考虑A(Y)是A的y坐标,那么你正在寻找类似:

arctan ((A(y) - B(y))/(A(x) - B(x))) 

这是否帮助?或者你在寻找稍有不同的东西?

编辑:要注意的一件事是你认为这些条款的顺序(无论你是从A到B还是从B到B),等等。你必须仔细考虑这件事或者你可以结束一些迹象问题。

0

如果A到B是直角三角形的斜边,A到B也是从A到B的最短路径,因为它是点之间的直线。

可以通过将相邻边的长度除以相反边的长度来计算非直角的反正切因为它是正切的倒数。但是,根据你所描述的信息,你将缺少分子或分母。

有一个无限数量的直角三角形,具有给定长度的斜边。

1

如果你只有一个长度和这里没有隐藏的假设(如说,三角形的一边已经标准化):你不能

一个有趣的隐藏的假设可能是:

  • 所有的距离都是整数
  • 的三角形,只要至少因为它是高。

然后问题只是很难。


如果AB是点,那么你想要的角度推测的一个拍摄于x轴,而你通过得到它(使用fortranish名):

atan((B.y - A.y)/(B.x - A.x)) 

或如果您有它在您的图书馆

atan2((B.y - A.y),(B.x - A.x)) 

它处理零的情况下整齐的鸿沟......

2

大多数系统都有Arctan2(dy, dx),它给你一个完整的圆的角度(并处理垂直),所以你会说Arctan2((By - Ay), (Bx - Ax))以弧度(从东逆时针)获得方向。度数乘以360/(2*PI)

只要确保A!= B。