效果挺简单的 ,简单说下思路。
这个图由7个点确定:两个圆心P1,P2,每个圆的两个对称点P3,P4,P5,P6,以及两个圆心的终点P7(P5,P6,P7图中没画,相信大家清楚)
点的获取:首先选取一个固定点作为中间不动的球的圆心,然后在onTouchEvent中记录按下的点重新绘制,难点在于每个球取的点的获取,动球在固定的球的左上,右上,左下,右下方向时,sin α和cos α值会有正负变化,如图以动圆在固定圆的右下方为例:
点P4的坐标为:
P4.x = P1.x - r * sin α
P4.y = P1.y + r * cos α
点P3的坐标为:
P3.x = P2.x - r * sin α
P3.y = P2.y + r * cos α
以P3为例,P3相对圆心P2的对称点P5(图中没画)的坐标为:
P5.x = 2 * P2.x - P3.x
P5.y = 2 * P2.y - P3.y
P4的对称点类似写法。
好了,点找完了 接下来画图吧,直接上代码:
import