ホームページ > バックエンド開発 > C++ > 線と横軸の間の角度を計算するにはどうすればよいですか?

線と横軸の間の角度を計算するにはどうすればよいですか?

DDD
リリース: 2025-01-14 17:42:44
オリジナル
472 人が閲覧しました

How Can I Calculate the Angle Between a Line and the Horizontal Axis?

直線と水平軸の間の角度を計算します

プログラミングでは、直線と水平軸の間の角度を決定する必要があることがよくあります。次の図を考えてみましょう。(P1x,P1y) と (P2x,P2y) が正の象限で定義されています。有向線分。私たちの目標は、この線と水平軸の間の角度 θ を見つけることです。

夾角を計算する手順:

1. ベクトル成分を計算します: エンドポイント間の違いを見つけます:

  • deltaY = P2y - P1y
  • deltaX = P2x - P1x

2. arctan2 を使用して角度を計算します (推奨):

  • angleInDegrees = atan2(deltaY, deltaX) * 180 / PI

このメソッドは、deltaY と deltaX を考慮してすべての象限で正しい角度を決定する atan2 関数を使用します。

3. 代替方法:

  • ベクトル (deltaX、deltaY) をその長さで除算して単位ベクトルとして扱います。
  • deltaX は角度のコサイン、deltaY は角度のサインになります。
  • ベクトルの長さが 0 の場合、角度がないため、サインとコサインは定義されません。

その他の注意事項:

  • deltaX と deltaY の符号は、角度の象限を決定します。
  • atan2(deltaY, deltaX) は角度をラジアンで返します。度に変換するには、180 / PI を掛けます。

Python の実装例:

<code class="language-python">from math import atan2, pi

def get_angle_between_points(x1, y1, x2, y2):
    deltaY = y2 - y1
    deltaX = x2 - x1
    angle_in_radians = atan2(deltaY, deltaX)
    angle_in_degrees = angle_in_radians * 180 / pi
    return angle_in_degrees</code>
ログイン後にコピー

この関数は 4 つの座標を受け取り、角度を度単位で返します。

以上が線と横軸の間の角度を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート