# Drawing east and west line in the circle?

•  30-07-2022
•  |
•

Question

I am currently building a small compass app and I have drawn the north and south line using simple circle equation: x= a+r Cos(t) and y= b+ r Sin(t) where t=heading or direction in degree(angle). More info in Wiki

So far I have manged to get the north and south line. Here is my work

``````    //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);
``````

My problem: I don't know how do we get the east and west line?

CxCompass, CyCompass: coordinates of circle center

Solution

Fixed the issue by adding 90 degrees. I am happy to share it

``````            //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);
``````