-1

私は現在、小さなコンパスアプリを構築しており、単純な円の方程式を使用して北と南の線を描画しました: x= a+r Cos(t) および y= b+ r Sin(t) ここで、t=heading または方向 (角度) )。詳細はウィキで

これまでのところ、北と南の線を取得することができました。ここに私の作品があります

    //canvas.drawLine(startX, startY, stopX, stopY, paint)

    //Drawing North
        canvas.drawLine(cxCompass, cyCompass, 
                (float)(cxCompass + radiusCompass * Math.sin((double)(-direction) * 3.14/180)), 
                (float)(cyCompass - radiusCompass * Math.cos((double)(-direction) * 3.14/180)), 
                paint);

    //Drawing South
        canvas.drawLine(cxCompass, cyCompass, 
                (float)(cxCompass - radiusCompass * Math.sin((double)(-direction) * 3.14/180)), 
                (float)(cyCompass + radiusCompass * Math.cos((double)(-direction) * 3.14/180)), 
                paint);

私の問題:東と西の線をどうやって取得するのかわかりません。

CxCompass、CyCompass: 円の中心の座標

4

1 に答える 1

0

90 度を追加して問題を修正しました。喜んでシェアさせていただきます

            //Drawing west
        canvas.drawLine(cxCompass, cyCompass, 
                (float)(cxCompass + radiusCompass * Math.sin((double)(-direction-90) * 3.14/180)), 
                (float)(cyCompass - radiusCompass * Math.cos((double)(-direction-90) * 3.14/180)), 
                paint);

        //Drawing east
        canvas.drawLine(cxCompass, cyCompass, 
                (float)(cxCompass - radiusCompass * Math.sin((double)(-direction-90) * 3.14/180)), 
                (float)(cyCompass + radiusCompass * Math.cos((double)(-direction-90) * 3.14/180)), 
                paint);
于 2013-11-11T18:52:34.210 に答える