from gpanel import * from math import sin,cos,pi R=1 r=1 points = [] def v1(a): return [(R+r)*cos(a),(R+r)*sin(a)] def v2(a): b = a * R/r - pi + a return [r*cos(b),r*sin(b)] def add(v1,v2): return [v1[0]+v2[0],v1[1]+v2[1]] makeGPanel(-4,4,-4,4) t=0 dt=0.0025 while t<=2*pi: p1=v1(t) p2=v2(t) p3=add(p1,p2) points.append(p3) move(0,0) setColor("black") delay(2) clear() circle(R) move(p1) circle(r) setColor("red") move(p3) fillCircle(0.1) for p in points: point(p) t=t+dt