-
Notifications
You must be signed in to change notification settings - Fork 276
Open
Description
I am trying to render the isosurface of a CFD dataset, but the isosurface reconstruction does not look smooth:
vol_size = (
xp.array([ts.sim.grid.width, ts.sim.grid.height, ts.sim.grid.depth])
* 5
)
# Create a 3D grid for vorticity data
x_coords = xp.linspace(
ts.sim.grid.xinterpmin, ts.sim.grid.xinterpmax, vol_size[0]
)
y_coords = xp.linspace(
ts.sim.grid.yinterpmin, ts.sim.grid.yinterpmax, vol_size[1]
)
z_coords = xp.linspace(
ts.sim.grid.zinterpmin, ts.sim.grid.zinterpmax, vol_size[2]
)
x_grid, y_grid, z_grid = xp.meshgrid(x_coords, y_coords, z_coords)
x_sp = (ts.sim.grid.xinterpmax - ts.sim.grid.xinterpmin) / vol_size[0]
y_sp = (ts.sim.grid.yinterpmax - ts.sim.grid.yinterpmin) / vol_size[1]
z_sp = (ts.sim.grid.zinterpmax - ts.sim.grid.zinterpmin) / vol_size[2]
x_o = ts.sim.grid.xinterpmin
y_o = ts.sim.grid.yinterpmin
z_o = ts.sim.grid.zinterpmin
vol = griddata(
(x, y, z),
fields["vorticity_mag"].ravel(),
(x_grid, y_grid, z_grid),
method="nearest",
).swapaxes(0, 1)
# ic(vol.shape)
colormap = "jet"
thresh = 500
# vol = xp.clip(vol, 0, 1000)
# Create a vedo Volume from the vorticity data
volume = Volume(vol, spacing=[x_sp, y_sp, z_sp], origin=[x_o, y_o, z_o])
iso = (
# volume.legosurface(vmin=thresh, vmax=fields["vorticity_mag"].max())
volume.isosurface(value=xp.linspace(100, 1000, 10))
.smooth(niter=100)
.cmap(colormap, vmin=thresh, vmax=1000)
.add_scalarbar3d()
)Any ideas on how to get better results?
With legosurface everything looks normal, but I want a smooth mesh.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
