Coordinates of the hexagon [Hexagon](https://i.sstatic.net/tww83.png)
Now I want to add coordinates between these coordinates such that these 8 coordinates 27 coordinates as shownenter image description here an find the new coordinates too
I tried to make a code but not working much well xi = [-1.0, 0.0, 1.0] ele_arr is the coordinates given
cord1 = np.zeros([(N+1)*(N+1)*(NPZ+1),4],dtype = 'float64')
cord1[0,:] = ele_arr[-1,:]
cord1[N,:] = ele_arr[-2,:]
cord1[N*(N+1),:] = ele_arr[3,:]
cord1[((N+1)*(N+1))-1,:] = ele_arr[2,:]
cord1[-1,:] = ele_arr[0,:]
cord1[-1-(N),:] = ele_arr[1,:]
cord1[-1-(N*(N+1)),:] = ele_arr[-4,:]
cord1[-((N+1)*(N+1)),:] = ele_arr[-3,:]
for i in range(1,NPZ):
gap = (N+1) * (N+1)
cord1[i*gap,1:4] = np.array([cord1[0,1] + ((cord1[-((N+1)*(N+1)),1] - cord1[0,1]) * ((xi[i] - xi[0])/2)),
cord1[0,2] + ((cord1[-((N+1)*(N+1)),2] - cord1[0,2]) * ((xi[i] - xi[0])/2)),
cord1[0,3] + ((cord1[-((N+1)*(N+1)),3] - cord1[0,3]) * ((xi[i] - xi[0])/2))])
cord1[i*gap + N,1:4] = np.array([cord1[N,1] + ((cord1[-1-(N*(N+1)),1] - cord1[N,1]) * ((xi[i] - xi[0])/2)),
cord1[N,2] + ((cord1[-1-(N*(N+1)),2] - cord1[N,2]) * ((xi[i] - xi[0])/2)),
cord1[N,3] + ((cord1[-1-(N*(N+1)),3] - cord1[N,3]) * ((xi[i] - xi[0])/2))])
cord1[i*gap + N + (N+1)*N,1:4] = np.array([cord1[((N+1)*(N+1))-1,1] + ((cord1[-1,1] - cord1[((N+1)*(N+1))-1,1]) * ((xi[i] - xi[0])/2)),
cord1[((N+1)*(N+1))-1,2] + ((cord1[-1,2] - cord1[((N+1)*(N+1))-1,2]) * ((xi[i] - xi[0])/2)),
cord1[((N+1)*(N+1))-1,3] + ((cord1[-1,3] - cord1[((N+1)*(N+1))-1,3]) * ((xi[i] - xi[0])/2))])
cord1[i*gap + (N+1)*N,1:4] = np.array([ cord1[N*(N+1),1] + ((cord1[-1-N,1] - cord1[N*(N+1),1]) * ((xi[i] - xi[0])/2)),
cord1[N*(N+1),2] + ((cord1[-1-N,2] - cord1[N*(N+1),2]) * ((xi[i] - xi[0])/2)),
cord1[N*(N+1),3] + ((cord1[-1-N,3] - cord1[N*(N+1),3]) * ((xi[i] - xi[0])/2))])
for i in range(NPZ+1):
for j in range(1,N):
cord1[i*(N+1)*(N+1)+j,1:4] = [cord1[i*(N+1)*(N+1),1] + ((cord1[i*(N+1)*(N+1)+N,1] - cord1[i*(N+1)*(N+1),1]) * (((xi[j] - xi[0])/2))),
cord1[i*(N+1)*(N+1),2] + ((cord1[i*(N+1)*(N+1)+N,2] - cord1[i*(N+1)*(N+1),2]) * (((xi[j] - xi[0])/2))),
cord1[i*(N+1)*(N+1),3] + ((cord1[i*(N+1)*(N+1)+N,3] - cord1[i*(N+1)*(N+1),3]) * (((xi[j] - xi[0])/2)))]
cord1[i*(N+1)*(N+1)+(N*(N+1))+j,1:4] = [cord1[i*(N+1)*(N+1)+(N*(N+1)),1] + ((cord1[i*(N+1)*(N+1)+(N*(N+1))+N,1] - cord1[i*(N+1)*(N+1)+(N*(N+1)),1]) * (((xi[j] - xi[0])/2))),
cord1[i*(N+1)*(N+1)+(N*(N+1)),2] + ((cord1[i*(N+1)*(N+1)+(N*(N+1))+N,2] - cord1[i*(N+1)*(N+1)+(N*(N+1)),2]) * (((xi[j] - xi[0])/2))),
cord1[i*(N+1)*(N+1)+(N*(N+1)),3] + ((cord1[i*(N+1)*(N+1)+(N*(N+1))+N,3] - cord1[i*(N+1)*(N+1)+(N*(N+1)),3]) * (((xi[j] - xi[0])/2)))]
for i in range(NPZ+1):
for j in range(N+1):
for k in range(1,N):
cord1[(i*gap)+(k*(N+1))+j,1:4] = [cord1[(i*gap)+j,1] + ((cord1[(i*gap)+j+(N*(N+1)),1] - cord1[(i*gap)+j,1]) * (((xi[k] - xi[0])/2))),
cord1[(i*gap)+j,2] + ((cord1[(i*gap)+j+(N*(N+1)),2] - cord1[(i*gap)+j,2]) * (((xi[k] - xi[0])/2))),
cord1[(i*gap)+j,3] + ((cord1[(i*gap)+j+(N*(N+1)),3] - cord1[(i*gap)+j,3]) * (((xi[k] - xi[0])/2)))]