0

私が計算しようとしている角度をよりよく表していると思われる写真を選択しました。

ここに画像の説明を入力

CGPoint P2はユーザーがタップした場所のどこにでもあり、CGPoint P1常に と がP1.y = P2.yありP1.x = self.view.bounds.size.width/2ます。

途中の x 軸に基づいて角度を設定したい場合、どうすれば 2 点間の角度を計算できるのだろうかと思っていました。

ありがとう!

4

1 に答える 1

1

角度は次のとおりです。

90-arctan((self.view.bounds.size.height - P2.y)/(P2.x - self.view.bounds.size.width/2))

(線の右側が正、左側が負になります。常に正にしたい場合は、を使用しますabs())

私がやっていることは、基本的に画面の下部中央に原点を設定し、原点から P2 までの直線の傾きを計算することです。次にarctan、X 軸に対する直線の角度を示します。次に90-arctan(..)、Y軸を尊重するようにします。

または、この式を使用することもできます。これは、既に反転されている軸と同じです。

arctan((P2.x - self.view.bounds.size.width/2)/(self.view.bounds.size.height - P2.y))
于 2013-07-26T22:27:24.680 に答える