Android求一个圆上某点坐标

需要的前置条件

圆的中心坐标(x,y)
半径 radius
被求点的角度 angle

计算公式

pointX = x + radius * cos(angle * PI / 2)
pointY = y + radius * sin(angle * PI / 2)

Android

pointX = x + radius * Math.cos(Math.toRadians(angle))
pointY = y + radius * Math.sin(Math.toRadians(angle))

应用场景?

TIM截图20190314105406.png

比如求出某个扇形的边上的中心点位置,然后画出线条

前置条件我们都具备(x,y),radius,angle

通过上面的Android公式就能得出来了!


那么红色扇形偏移怎么实现呢?

我们可以先考虑canvas偏移得到,但是,偏移多少距离才是正确的

微信图片_20190314105942.jpg

由于前面已经计算出x1,y1,我们偏移100;那就是等同于半径+100;
同理,半径在增加+100后计算出x2,y2;用

offsetX = x2 - x1;
offsetY = y2 - y1;
//先偏移
canvas.translate(offsetX ,offsetY );
//画扇形

就可以实现偏移

你可能感兴趣的:(Android求一个圆上某点坐标)