r=4
v=4
a=[30,90,150,210,270,330]
d=Math::PI/180
xy=a.map{|e|[r*Math.cos(e*d),r*Math.sin(e*d)]}
dv=proc{|xy1,xy2,m|
[((v-m)*xy1[0]+m*xy2[0])/v,
((v-m)*xy1[1]+m*xy2[1])/v]
}
pt=[]
(0..v).each{|m|
pt<<dv.(xy[0],xy[2],m)
pt<<dv.(xy[2],xy[4],m)
pt<<dv.(xy[4],xy[0],m)
pt<<dv.(xy[1],xy[3],m)
pt<<dv.(xy[3],xy[5],m)
pt<<dv.(xy[5],xy[1],m)
}
pt.each{|e|p e}
cj00CnY9NAphPVszMCw5MCwxNTAsMjEwLDI3MCwzMzBdCmQ9TWF0aDo6UEkvMTgwCnh5PWEubWFwe3xlfFtyKk1hdGguY29zKGUqZCkscipNYXRoLnNpbihlKmQpXX0KZHY9cHJvY3t8eHkxLHh5MixtfAogIFsoKHYtbSkqeHkxWzBdK20qeHkyWzBdKS92LAogICAoKHYtbSkqeHkxWzFdK20qeHkyWzFdKS92XQp9CnB0PVtdCigwLi52KS5lYWNoe3xtfAogIHB0PDxkdi4oeHlbMF0seHlbMl0sbSkKICBwdDw8ZHYuKHh5WzJdLHh5WzRdLG0pCiAgcHQ8PGR2Lih4eVs0XSx4eVswXSxtKQogIHB0PDxkdi4oeHlbMV0seHlbM10sbSkKICBwdDw8ZHYuKHh5WzNdLHh5WzVdLG0pCiAgcHQ8PGR2Lih4eVs1XSx4eVsxXSxtKQp9CnB0LmVhY2h7fGV8cCBlfQ==
[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]