I would like a faster implementation of the functions shown below. Ideally the code should work when number_points variable is set to 400-500. Is there any way I can improve the function definitions to increase speed (see sample run)?
Here is my code:
import numpy as np import time def initialize_plane_points(Domain = 100,number_points=200,Plane_Offset=0.0): '''Domain has implied coordinates of mm and the number of points represents the number of samples within that space. ''' X = np.linspace(-Domain,Domain,number_points) #print(X) Y = np.linspace(-Domain,Domain,number_points) #print(Y) ZZ = np.array([]) XX,YY = np.meshgrid(X,Y) for x in XX: for y in YY: ZZ = np.append(ZZ,[Plane_Offset]) ZZ = np.reshape(ZZ, (len(XX),len(YY))) Shape = np.array([]) for i in range(len(XX)): for j in range(len(YY)): Shape = np.append(Shape,[XX[i,j],YY[i,j],ZZ[i,j]]) a = int(len(Shape) / 3) SHAPE = np.reshape(Shape,(a,3)) return SHAPE T0 = time.perf_counter() Points = initialize_plane_points(number_points=100) T1 = time.perf_counter() print("100 initialize time: ",T1-T0) 