def make_data( x, y, z ): """Creates some simple array data of the given dimensions to test with.""" x = x.astype( 'f' ) y = y.astype( 'f' ) z = z.astype( 'f' ) arr_list = [x, y, z] n_arr = len( arr_list ) ogrid = [] for i, arr in enumerate( arr_list ): shape = ones( ( n_arr, ), dtype='int' ) shape[i] = len( arr ) arr_i = ncopy( arr ).reshape( tuple( shape ) ) ogrid.append( arr_i ) x, y, z = ogrid scalars = x * z * y #(numpy.sin(x*y*z)/(x*y*z)) # The copy makes the data contiguous and the transpose makes it # suitable for display via tvtk. Please note that we assume here # that the ArraySource is configured to not transpose the data. s = transpose( scalars ).copy() # Reshaping the array is needed since the transpose messes up the # dimensions of the data. The scalars themselves are ravel'd and # used internally by VTK so the dimension does not matter for the # scalars. s.shape = s.shape[::-1] return s
def orthogonalize( arr_list ): '''Orthogonalize a list of one-dimensional arrays. ''' n_arr = len( arr_list ) ogrid = [] for i, arr in enumerate( arr_list ): shape = ones( ( n_arr, ), dtype = 'int' ) shape[i] = len( arr ) arr_i = ncopy( arr ).reshape( tuple( shape ) ) ogrid.append( arr_i ) return ogrid
def orthogonalize( arr_list ): '''Orthogonalize a list of one-dimensional arrays. ''' n_arr = len( arr_list ) ogrid = [] for i, arr in enumerate( arr_list ): shape = ones( ( n_arr, ), dtype='int' ) shape[i] = len( arr ) arr_i = ncopy( arr ).reshape( tuple( shape ) ) ogrid.append( arr_i ) return ogrid