2

では、C を A から B への最短経路にする必要があります。A から B への経路は直角三角形の斜辺であり、C にその三角形の逆正接を与える必要があります。これを行うにはどうすればよいですか?式には名前がありますか?

4

5 に答える 5

3

何を求めているのかは明確ではありませんが、ABラインの角度を見つけようとしていると思います。私はあなたが知っている、またはAとBの両方の(x、y)座標を理解できると仮定します。そうしないと、問題を解決できなくなるからです。

ソリューションの大部分を概説したように聞こえます...角度は(y / x)距離のアークタンに等しくなります。したがって、A(y)をAのy座標と見なすと、次のようになります。

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

それは役に立ちますか?それとも少し違うものをお探しですか?

編集:注意すべきことの1つは、用語を検討する順序(AからB、またはその逆)などです。これについて慎重に検討する必要があります。そうしないと、何らかの兆候が現れる可能性があります。問題。

于 2009-02-24T20:00:44.100 に答える
2

ほとんどのシステムには、完全な円の角度を与える(そして垂直方向を処理する)ものがあるので、方向をラジアン(東から反時計回り)で取得するArctan2(dy, dx)と言うでしょう。Arctan2((By - Ay), (Bx - Ax))度の場合は。を掛け360/(2*PI)ます。

A!=Bであることを確認してください。

于 2009-02-24T20:15:44.797 に答える
1

長さが1つしかなく、ここに隠された仮定がない場合(たとえば、三角形の1つの辺が正規化されている場合)、できません

興味深い隠された仮定は次のようになります。

  • すべての距離は整数です
  • 三角形は少なくともそれが高い限り長いです。

その後、問題は単に難しいです。


とが点である場合AB必要な角度はおそらくx軸に対して取られた角度であり、次のようにして取得します(fortranish名を使用)。

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

またはあなたがあなたの図書館にそれを持っているなら

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

ゼロ除算をきちんと処理します。

于 2009-02-24T20:06:00.157 に答える
1

Arctan は度またはラジアンになるため、A と B は (x, y) のような座標を持つ可能性が高くなります。次に、正しく覚えていれば arctan((By - Ay) / (Bx - Ax)) を実行します。ここで、Bx は B などの x 座標です。

A と B に座標がないと、意味のある度数を取得できません。

于 2009-02-24T19:58:02.827 に答える
0

AからBが直角三角形の斜辺である場合、AからBは点間の直線であるため、AからBへの最短経路にもなります。

接線の逆であるため、隣接する辺の長さを反対側の長さで割ることにより、いずれかの非直角のアークタンジェントを計算できます。しかし、あなたが説明した情報では、分子または分母のいずれかが不足していることになります。

与えられた長さのhypotenuseを持つ直角三角形は無数にあります。

于 2009-02-24T20:03:59.647 に答える