Ejemplo n.º 1
0
    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'])
Ejemplo n.º 2
0
    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()