2013-12-13 5 views
1

나는 안드로이드에 원을 그려서 특정 각도로 그 모서리에 무언가를 그려보고 싶습니다.안드로이드에서 원의 x, y 좌표를 찾는 방법

정규 수학 식을 각각의 X를 계산하는 원에서 Y는

x = x0 + r * cos(theta) 
y = y0 + r * sin(theta) 

되지만 문제 : I가 반경을 알고 는 I 수평 (X 축)의 각도 측정을 알 좌표계 안드로이드는 왼쪽 상단에서 0,0에서 시작하여 아래로 또는 오른쪽으로 갈수록 증가합니다.

각도로 원의 가장자리에서 x, y를 계산할 때 수식이 어떻게 바뀌나요? 안드로이드의 원의 가장자리에서 x, y를 찾을 수있는 다른 방법이 있습니까?

감사합니다.

답변

4

일반 직교 좌표에서 세타는 양의 x 축에서 시작하여 측정되며 반 시계 방향으로 회전하면 증가합니다.

perimiter_X_coord = center_X_coord + R * COS (세타)
을 : Y 축이 안드로이드의 캔버스에 사용되는 좌표계에 반전되기 때문에

그러나, 당신은에 맞게 사용자 Y 방정식을 조정해야 perimiter_Y_coord = center_Y_coord - R * 죄 (세타) 또한

당신이 Math.cos() 또는 Math.sin()를 사용하는 경우, 기억, 그들은 라디안에서 각도를 기대합니다. 당신도의 각도가 있다면 그래서, 당신은으로 변환해야합니다 :

angle_in_radians = angle_in_degrees * (Math.PI/180) 
0

기본적으로 원에 접선을 그릴 필요가 있습니까? http://www.mathopenref.com/tangent.html

+0

내가하지만 난 정확히 접선 – Sunny

+0

의 x 및 y 포인트를 계산하기 위해 노력하고 있습니다. 피타고라스 돔을 사용하십시오. – sanket

관련 문제