Jump to content

What's the best way to visualize change in a volume?


magneto

Recommended Posts

Hi,

 

I want to visualize the change in a volume but I don't know how to best do it. Basically it's not the direction of change I am interested but the amount of change. So if all voxels have the same value regardless of the value, then I should see no change.

 

I know I can use the size of the gradient vector to measure this, right? Is this a good approach?

 

I am mainly interested in doing this for vector volumes that represent direction like velocity.

 

Does it matter whether the vector volume is a vel.xyz or a single VDB vector3 volume?

 

What's the best way to do this so I can see the areas with the most amount of change/deviation? If there has to be a default direction to compare, it's fine.

 

 

Thanks :)

Edited by magneto
Link to comment
Share on other sites

Thanks. I didn't mean for animation though, but for each frame by itself. For example if you imagine one end of the volume has "neutral" velocity direction, and then other end has the velocities facing 90 degree rotated direction with a linear transition between them, then coloring them using black and white should show black at the start and transitioning to white at the end.

 

I don't know if this is the best way to visualize it, but basically I am looking to see the amount of change in direction (i.e. velocity) within the volume itself, regardless of time.

Link to comment
Share on other sites

Thanks Skybar, do streamers really do that? I should experiment. How can I generate them in SOPs without using DOPs? The help says:

 

"From each starting location, a streamer will be sent through the current velocity field to track how the field moves."

 

So for every voxel center, you start with a point and then integrate the velocity (or any other vector) at each step? I can see that the number of streamers is voxelres.x * voxelres.y for XY plane. But how many points to use for each (as they differ).

 

Also I put a grid to align the starting points and it didn't match. So is it not the voxel centers that are used as starting points? I would appreciate any insight :)

Link to comment
Share on other sites

... How can I generate them in SOPs without using DOPs? ...

you can use Volume Trail SOP for that

connect your vector volume to second input and start points to first input

usually you want to plug Volume Slice SOP as a first input since it gives you points for your volume at a given slice so it's like in DOPs

  • Like 1
Link to comment
Share on other sites

but for change in values you can use Volume Gradient as you said

maybe inside of the VolumeVOP SOP since you need to get gradient per each vector component and then add them together to get resulting vector or just it's length

  • Like 1
Link to comment
Share on other sites

Thanks anim, Volume Trail SOP seems very useful. I am having trouble matching it to the result of DOP streamers though. The parameters are different in DOPs, so they must be using some hard coded settings I think. Especially the low velocity streams do not match.

 

Also do you know how CFL is tracking the changes in the volume? It says:

 

"If Use CFL is set, the stepsize will be adjusted dynamically to better catch any changes in the velocity values."

 

I wonder how it actually does that. This is purely curiosity though :)

 

I also have to try the gradient idea you mentioned.

 

Thanks again.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...