スーパービューを回転すると、5つのサブビュー(白)がスーパービューに追加されています(グレー)、各サブビューの角度(1と2など)を知りたい赤い円(サブビューの中心と赤い円は、同一円周上にある)スーパービューを回転させた後の実際の角度を取得する
0
A
答えて
0
あなたのコメントから、特定のローテーションの5つの円の中心の座標を決定したいと思われるようです。センターはすべて円になります。だからあなたの質問は、半径の円にある点の座標は、どのような角度になるのでしょうか?θです。サークルのためのパラメトリック方程式はあなたにそれを与える:
X = R COS θ
Y = R罪θ
角度、θ、これらの中で方程式は、反時計回りの方向に正のx軸からラジアンで測定されます。
360度= 2 πラジアン
残りの単純な数学で、回転のあなたの角度を取る:あなたの角度は度である場合は、としてπ便利なためM_PI
定数がわかります(0をx軸、必要に応じて反時計回りを測定することを覚えておいてください)、他の中心は72度の倍数です(0.4 πラジアン)。
HTH
0
私は、私は完全にあなたの質問を理解していない、あなただけ知られているポイントを取り、それに度の一定数を回転させ、CGAffineTransformのためのドキュメントをチェックアウトする必要がある場合。例えば
:
CGAffineTransform rotation = CGAffineTransformMakeRotation (angle);
CGPoint rotatedPoint = CGPointApplyAffineTransform (startingPoint, rotation);
この回転行列は、周りの(0、0)で、角度はラジアンであるので、あなたがずらさ得るためにあなたのスーパービューの境界の中心を減算する必要があります。中心を回転させ、中心に戻します。または、その変換、回転、および逆変換からなるアフィン変換を構築し、それを上記のように出発点に適用することができます。
0
あなたはすでにメインの回転角度を知っているようだとすれば、これは-180の範囲の角度を与えます。+180と白のディスクのそれぞれの位置:
GCFloat toRads = M_PI/180.0;
CGFloat angleA = self.rotationInDegrees;
if (angleA > 180) angleA -= 360;
CGFloat xA = self.radius * sinf(angleA * toRads);
CGFloat yA = self.radius * cosf(angleA * toRads);
CGFloat angleB = angleA + 72;
if (angleB > 180) angleB -= 360;
CGFloat xB = self.radius * sinf(angleB * toRads);
CGFloat yB = self.radius * cosf(angleB * toRads);
etc...
(これはゼロ度垂直からであると想定し、それが上の水平スワップCOS及びSiNからだ場合)。
関連する問題
- 1. スーパービュー回転後のサブビュー位置の取得
- 2. Android:アニメーションを回転させた後、アニメーションを回転させて実際の状態に戻しますか?
- 3. 回転したdivの実際の左上位置を取得
- 4. 各軸の3D回転角度を取得する方法は?
- 5. Panda3Dでジョイント角度を回転させた後のリギッドモデルの頂点にアクセス
- 6. 回転角度を計算する際の問題
- 7. UWPストーリーボードアニメーションの回転値(角度)を取得中またはその後に取得
- 8. CABasicAnimation現在の回転角度の取得方法
- 9. MPMoviePlayerControllerビデオを回転させる方法(スーパービューではない)
- 10. Androidセンサーの回転角度
- 11. 角度と度からより低い回転値を得る
- 12. ピッチとなる回転行列を回転させるオイラー角
- 13. 画像を回転させた角度を推定する方法は?
- 14. MATLABの回転角度と反射角度角度
- 15. box2d:指定された角度でスムーズにオブジェクトを回転させる方法
- 16. 回転する矩形の角を取得する
- 17. CGAffineTransform角度の代わりに回数を回転する回転
- 18. JavaScript - 固定角度で図形を回転させよう
- 19. パイソン:回転行列角度
- 20. 回転角度計算AS3
- 21. OpenGL定回転角度
- 22. FFmpeg - 角度で回転
- 23. 行列をN度回転させる
- 24. OpenTK - 与えられた角度でオブジェクトを回転させる方法
- 25. Videoviewの実際のビデオバッファを回転
- 26. どのような角度でどのポイントを回転させるには?
- 27. leaflet.jsでの地図角度の回転
- 28. インターネットにアップロードした後、録画したビデオを90度回転させた
- 29. どのようにビットマップを任意の角度で回転させますか?
- 30. コンテナを回転させずにドッカー画像を取得する
確かにAの角度は回転量だけで、Eの角度は常に72度前であるので、より多くの情報を提供する必要があると思いますか? – CRD
返信ありがとうございます、角度AOEは正確に360/5 = 72度です。グレー表示は角度1(角度1は-180〜180度のいずれでもよい)であるため、A点(Aはこのサブビューの中心点)とB、C、D、Eなどの点を知る必要があります。 – Meonardo