私が計算しようとしている角度をよりよく表していると思われる写真を選択しました。
CGPoint P2
はユーザーがタップした場所のどこにでもあり、CGPoint P1
常に と がP1.y = P2.y
ありP1.x = self.view.bounds.size.width/2
ます。
途中の x 軸に基づいて角度を設定したい場合、どうすれば 2 点間の角度を計算できるのだろうかと思っていました。
ありがとう!
私が計算しようとしている角度をよりよく表していると思われる写真を選択しました。
CGPoint P2
はユーザーがタップした場所のどこにでもあり、CGPoint P1
常に と がP1.y = P2.y
ありP1.x = self.view.bounds.size.width/2
ます。
途中の x 軸に基づいて角度を設定したい場合、どうすれば 2 点間の角度を計算できるのだろうかと思っていました。
ありがとう!
角度は次のとおりです。
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))