for i in range(_quadlist.__len__()): d_sq = _quadlist[i].measure_centroid_distance_squared(_point) d_sq_list[i] = d_sq idx_list = sorted(range(len(d_sq_list)), key=lambda k: d_sq_list[k]) n_closest_idx = idx_list[:_n_closest] return n_closest_idx res_fine = 1 res_coarse = res_fine * 2.0 resolutions = {'fine': res_fine,'coarse': res_coarse} [verts_out_dc, quads_out_dc] = dc3D_real.tworesolution_dual_contour(cellsDict, resolutions, dimensions) N_quads = {'coarse': quads_out_dc['coarse'].shape[0], 'fine': quads_out_dc['fine'].shape[0]} N_verts = {'coarse': verts_out_dc['coarse'].shape[0], 'fine': verts_out_dc['fine'].shape[0]} quads = {'coarse': [None] * N_quads['coarse'], 'fine': [None] * N_quads['fine']} verts = {'coarse': [None]*N_verts['coarse'], 'fine': [None]*N_verts['fine']} for i in range(quads['coarse'].__len__()): quads['coarse'][i]=Quad(i,quads_out_dc['coarse'],verts_out_dc['coarse']) for i in range(verts['coarse'].__len__()): verts['coarse'][i]=VerteX(i,quads['coarse'],verts_out_dc['coarse'])
z = cell[2] + .5 ax.plot([x],[y],[z],'.b') ax.set_xlim3d(dimensions['xmin'], dimensions['xmax']) ax.set_ylim3d(dimensions['ymin'], dimensions['ymax']) ax.set_zlim3d(dimensions['zmin'], dimensions['zmax']) plt.show() quit() ''' res_fine = 1 res_coarse = res_fine * 2.0 resolutions = {'fine': res_fine,'coarse': res_coarse} [verts_out_dc, quads_out_dc, manifold_edges_dc] = tworesolution_dual_contour(cellsDict, resolutions, dimensions) import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from mpl_toolkits.mplot3d.art3d import Poly3DCollection, Line3DCollection fig = plt.figure() ax = Axes3D(fig) ax.set_aspect('equal') plot_scale = 'coarse' for q in quads_out_dc[plot_scale]: vtx = verts_out_dc[plot_scale][q] x = vtx[:,0].tolist() y = vtx[:,1].tolist() z = vtx[:,2].tolist()