
TO JBY :R :N  ;jby 50 2     
  DRAW
  MAKE "PRECISION 6   ;画图计算的精度是6位
  MAKE "NN INT(:N/2)  ;计算每串:N个圆的一半是几个
  STAMPOVAL :R*2 :R*2 ;画中心的小圆
  FOR "I 1 6[PU SETH :I*360/6 FD :R*3 PD JB :R :N PU HOME]  ;分别画6条旋臂
END
TO JB :R :N
  IF :N=0 THEN STOP
  STAMPOVAL :R :R ;画当中的大圆
  PU RT 90 FD :R*1.3 PD STAMPOVAL :R*0.3 :R*0.3  ;分别画左右边的小圆
  PU BK :R*1.3*2 PD STAMPOVAL :R*0.3 :R*0.3
  PU FD :R*1.3 LT 90 PD   ;回到中间的位置
  IF (:N-1)>:NN THEN[MAKE "K 1.2]ELSE[MAKE "K 0.83333] ;前一半圆逐个增大后一半逐个变小
  RT 240/2/:NN  ;下一个圆向右偏转一个角度
                ;每个旋臂分布在240度范围内
  PU FD :R*(1+:K) PD  ;移动到下一个圆的位置
  JB :R*:K :N-1       ;尾递归继续画后面的圆
END


