2017-01-05 10 views
0

私はonDrawメソッドをオーバーライドして円を描画するカスタムビューを持っています。今度は、円の中心から円の上に線を描きたいと思います。ここでAndroid - 垂直に線を描く

は私のコード..です

@Override 
protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 

    canvas.drawRect(0, 0, getWidth(), getHeight(), backgroundPaint); 
    canvas.drawCircle(centerX, centerY, outerRadius, outerCirclePaint); 

    double angleRadians = Math.toRadians(0); 

    double x = (outerRadius * Math.cos(angleRadians)) + centerX; 
    double y = (outerRadius * Math.sin(angleRadians)) + centerY; 

    canvas.drawLine((float)x, (float)y, centerX, centerY, innerCirclePaint); 
} 

centerXとcenterY円 の中心ですouterRadiusは、私がこれを実行すると、ラインが中心から描かれた円

ための半径であります円の上端の代わりに90度の右0度です。角度が0であると言っても、

これは私を混乱させ、私が間違っているように見えることができません。 誰かがこれについて何か考えているなら、私は非常に感謝します

答えて

1

数学では、円の右に単位円が0度(0ラジアンも)です。

Unit circle

上部に開始するように90度またはPI/2ラジアンを追加します。

+0

ありがとうございます – Pagrate

関連する問題