fork download
  1. r=6
  2. v=12
  3. a=[0, 45, 90, 135, 180, 225, 270, 315]
  4. d=Math::PI/180
  5. xy=a.map{|e|[r*Math.cos(e*d),r*Math.sin(e*d)]}
  6. dv=proc{|xy1,xy2,m|
  7. [((v-m)*xy1[0]+m*xy2[0])/v,
  8. ((v-m)*xy1[1]+m*xy2[1])/v]
  9. }
  10. pt=[]
  11. (0..v).each{|m|
  12. pt<<dv.(xy[0],xy[2],m)
  13. pt<<dv.(xy[2],xy[4],m)
  14. pt<<dv.(xy[4],xy[6],m)
  15. pt<<dv.(xy[6],xy[0],m)
  16. pt<<dv.(xy[1],xy[3],m)
  17. pt<<dv.(xy[3],xy[5],m)
  18. pt<<dv.(xy[5],xy[7],m)
  19. pt<<dv.(xy[7],xy[1],m)
  20. }
  21. pt.each do |e|
  22. p e.map { |coord| coord.round(3) }
  23. end
Success #stdin #stdout 0.02s 8012KB
stdin
Standard input is empty
stdout
[6.0, 0.0]
[0.0, 6.0]
[-6.0, 0.0]
[0.0, -6.0]
[4.243, 4.243]
[-4.243, 4.243]
[-4.243, -4.243]
[4.243, -4.243]
[5.5, 0.5]
[-0.5, 5.5]
[-5.5, -0.5]
[0.5, -5.5]
[3.536, 4.243]
[-4.243, 3.536]
[-3.536, -4.243]
[4.243, -3.536]
[5.0, 1.0]
[-1.0, 5.0]
[-5.0, -1.0]
[1.0, -5.0]
[2.828, 4.243]
[-4.243, 2.828]
[-2.828, -4.243]
[4.243, -2.828]
[4.5, 1.5]
[-1.5, 4.5]
[-4.5, -1.5]
[1.5, -4.5]
[2.121, 4.243]
[-4.243, 2.121]
[-2.121, -4.243]
[4.243, -2.121]
[4.0, 2.0]
[-2.0, 4.0]
[-4.0, -2.0]
[2.0, -4.0]
[1.414, 4.243]
[-4.243, 1.414]
[-1.414, -4.243]
[4.243, -1.414]
[3.5, 2.5]
[-2.5, 3.5]
[-3.5, -2.5]
[2.5, -3.5]
[0.707, 4.243]
[-4.243, 0.707]
[-0.707, -4.243]
[4.243, -0.707]
[3.0, 3.0]
[-3.0, 3.0]
[-3.0, -3.0]
[3.0, -3.0]
[0.0, 4.243]
[-4.243, 0.0]
[0.0, -4.243]
[4.243, 0.0]
[2.5, 3.5]
[-3.5, 2.5]
[-2.5, -3.5]
[3.5, -2.5]
[-0.707, 4.243]
[-4.243, -0.707]
[0.707, -4.243]
[4.243, 0.707]
[2.0, 4.0]
[-4.0, 2.0]
[-2.0, -4.0]
[4.0, -2.0]
[-1.414, 4.243]
[-4.243, -1.414]
[1.414, -4.243]
[4.243, 1.414]
[1.5, 4.5]
[-4.5, 1.5]
[-1.5, -4.5]
[4.5, -1.5]
[-2.121, 4.243]
[-4.243, -2.121]
[2.121, -4.243]
[4.243, 2.121]
[1.0, 5.0]
[-5.0, 1.0]
[-1.0, -5.0]
[5.0, -1.0]
[-2.828, 4.243]
[-4.243, -2.828]
[2.828, -4.243]
[4.243, 2.828]
[0.5, 5.5]
[-5.5, 0.5]
[-0.5, -5.5]
[5.5, -0.5]
[-3.536, 4.243]
[-4.243, -3.536]
[3.536, -4.243]
[4.243, 3.536]
[0.0, 6.0]
[-6.0, 0.0]
[0.0, -6.0]
[6.0, 0.0]
[-4.243, 4.243]
[-4.243, -4.243]
[4.243, -4.243]
[4.243, 4.243]