パターン角の座標にQML(回転)

今日は回転長方形にマウスイベントの座標を必要とするターンテーブルの回転方向に沿って指をしようとすることができます。

まず、傾きを見つけ、それは、原点(0,0)とするように傾斜Y / X

circleControl.recY/circleControl.recX

傾斜角が順に知られているが、Math.atan得ラジアンを使用することができ、角度のニーズはさらにに変換します

Math.atan(circleControl.recY/circleControl.recX)/(Math.PI/180)

ちょうど原点(0,0)と仮定的に言えば、実際に書かれたQMLまたはグラフィカルプログラミングは、実際には、グラフであるグラフ(幅/ 2、高さ/ 2)の原点(0,0)である、ことを知っていますグラフの左上隅にあるので、Xを取り、yはまた思考のビットを必要とし、正確な点は、以下のコードを取ることです。

//mouse是鼠标坐标(手指坐标)
circleControl.recX=mouse.x-rectangle.width/2;
circleControl.recY=rectangle.height/2-mouse.y;

その後、グラフィックを0にデフォルトを回転するが、0実際には90度の数学的座標角度に等しく、そして回転が時計回りの回転が増加され、数学的な観点で相違がある場合。数学的な角度で得られたパターンは、結果を減算後、0度、360度となり、それが反時計回りにすることができるように、90度の角度を追加する必要があります。

circleControl.rotation=450-Math.atan(circleControl.recY/circleControl.recX)/(Math.PI/180);
リリース6元記事 ウォンの賞賛0 ビュー231

おすすめ

転載: blog.csdn.net/qq_35342292/article/details/104626058