pts = np.arange(1, 31).reshape(10, 3)
n, d = pts.shape
I = np.eye(d, dtype=pts.dtype)
xyzcols = np.kron(I, pts[:, (None)]).reshape(-1, d * d)
eyecols = np.tile(I, n).T
out = np.hstack([xyzcols, eyecols])
print(repr(out[:6]))
Создание этой блочной матрицы в numpy