fork download
  1. r=4
  2. v=4
  3. a=[30,90,150,210,270,330]
  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[0],m)
  15. pt<<dv.(xy[1],xy[3],m)
  16. pt<<dv.(xy[3],xy[5],m)
  17. pt<<dv.(xy[5],xy[1],m)
  18. }
  19. pt.each{|e|p e}
Success #stdin #stdout 0.01s 7988KB
stdin
Standard input is empty
stdout
[3.464101615137755, 1.9999999999999998]
[-3.464101615137755, 1.9999999999999998]
[-7.347880794884119e-16, -4.0]
[2.4492935982947064e-16, 4.0]
[-3.4641016151377544, -2.0000000000000004]
[3.4641016151377535, -2.0000000000000018]
[1.7320508075688772, 1.9999999999999998]
[-2.598076211353316, 0.4999999999999998]
[0.8660254037844382, -2.5]
[-0.8660254037844384, 2.5]
[-1.7320508075688776, -2.000000000000001]
[2.598076211353315, -0.5000000000000013]
[0.0, 1.9999999999999998]
[-1.7320508075688779, -1.0]
[1.732050807568877, -1.0]
[-1.732050807568877, 0.9999999999999998]
[-4.440892098500626e-16, -2.000000000000001]
[1.732050807568877, 0.9999999999999991]
[-1.7320508075688772, 1.9999999999999998]
[-0.8660254037844393, -2.5]
[2.598076211353316, 0.4999999999999998]
[-2.598076211353316, -0.5000000000000004]
[1.7320508075688765, -2.0000000000000013]
[0.8660254037844386, 2.4999999999999996]
[-3.464101615137755, 1.9999999999999998]
[-7.347880794884119e-16, -4.0]
[3.464101615137755, 1.9999999999999998]
[-3.4641016151377544, -2.0000000000000004]
[3.4641016151377535, -2.0000000000000018]
[2.4492935982947064e-16, 4.0]