-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
Some time ago, before I had discovered scikit-tda, I created the following functions to generate some datasets. Feel free to use and improve if you wish. Regards.
def figure_eight_pts(N, a=1):
theta_list = 2 * np.pi * np.random.sample(N)
pts = np.zeros((N,2))
print theta_list
for i in range(len(theta_list)):
pts[i,0] = a * np.cos(theta_list[i]) * np.sqrt(2*np.cos(2*theta_list[i]))
pts[i,1] = a * np.sin(theta_list[i]) * np.sqrt(2*np.cos(2*theta_list[i]))
return pts
def annulus_pts(N, R=2, r=1):
theta_list = np.random.random_sample(N)
radius_list = r + np.random.random_sample(N) * (R-r)
pts = np.zeros((N,2))
for i in range(len(theta_list)):
pts[i,0] = radius_list[i] * np.cos(2*np.pi*theta_list[i])
pts[i,1] = radius_list[i] * np.sin(2*np.pi*theta_list[i])
return pts
def cube_pts(N):
npts = N/6
faces = {}
for i in range(3):
data0 = np.random.random((npts,3))
data1 = np.random.random((npts,3))
data0[:,i] = 0
data1[:,i] = 1
faces[i] = data0
faces[i+3] = data1
cube = np.concatenate([faces[i] for i in range(6)])
return cube
Metadata
Metadata
Assignees
Labels
No labels