C には、任意の数値の平方根を返す定義済み関数 sqrt があります。回転キャリパー法は、アルゴリズムまたは計算幾何学を解く際に使用される手法です。
Hand Rotation は、回転キャリパー プロットの実際の例を示し、手が回転するたびに垂直方向の向きを示します。この概念は、ポリゴンを使用することでも理解できます。
この記事では、回転キャリパー法を使用して 2 つの座標点間の最大距離を見つけます。 跨度>
###文法###パラメータ
- キーワード ベクトルから始めて、C でベクトルを初期化します。
- ベクトルによって表されるデータ要素のタイプ。
- ベクトルの名前。
###アルゴリズム###x
の座標を保存する構造名ポイントを作成しています。 2 つの座標点間の距離を計算するために、double データ型
distance()と Point p2 は、座標値を受け入れ、事前定義された関数 sqrt と距離公式を使用して距離を返すパラメーターです。 ここでは、
CP()Point p3 の計算、外積ベクトルを受け入れます。つまり、x 座標と y 座標に関する p2-p1 および p3-p1 b> です。 今、引数を点ベクトルとして受け取り、任意の 2 つの座標面間の距離を最大化する倍精度データ型
rotatingCaliper()変数結果を
02 つの変数
jを 1 に初期化し、次の操作を実行します -
CP i 1] ] % n'そして、次のエッジ 'points[j]' は、現在のエッジ 'points[i]', Points[ (i 1) の外積 CP より小さいです。 % n]' と次の点 'point [(j 1) % n]' の後のエッジ。これにより、現在のエッジが次のエッジに対して垂直であることが検証されます。 現在の点
'point[i]'k を多角形内の次の点に移動します。距離 point[k]' は、現在のポイント 'point[i]' と次のポイント 'points[(k 1)%n]'# の間の距離より小さいです # #。これにより、次のポイントが現在のポイントから最も遠いことが確認されます。 今、点 j, k,
と現在の点result 変数の最大値を取得します。 main 関数を開始し、座標平面の値を
"vector
###例### このプログラムでは、回転キャリパー法を使用して、座標平面内の 2 点間の最大距離を計算します。 リーリー ###出力### リーリー ###結論は###
2 つの座標点間の最大距離を計算することで、回転キャリパー法の概念を理解しました。この方法の実際の応用には、開口角の最適化、機械学習分類などが含まれます。以上が回転キャリパー法を使用して、座標平面上の 2 点間の最大距離を計算します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。