How would you do this...

   12846   36   7
User Avatar
Member
271 posts
Joined: March 2012
Offline
That look's so good eetu! I'm having license issues at the moment, but will try it as soon as posisble.
User Avatar
Member
84 posts
Joined: May 2012
Offline
This is pretty interesting

Here is my attempt, I came up with it after seeing owlYzarc use of voronoi, But in my case I got rid of the forEach loops.

It can be use with eetu's way of ray-smooth at the end, or with vdb-fracture… in my case I prefer how the vdb one looks

and it also solves the problem with eetu's for non planar cases.

check it out

Attachments:
cells_plane.jpg (117.9 KB)
cells_volume.jpg (115.4 KB)
rbp_cellSeparation_0424.hip (146.7 KB)

User Avatar
Member
606 posts
Joined: May 2007
Offline
robonilla
check it out

Oh but of course, voronoi is indeed the 3d equivalent of a dual, simple and beautiful!
User Avatar
Member
99 posts
Joined: July 2007
Offline
Sweet
had made something similar for soup bubbles few moths ago, but discarded it as failed test apparently should have continued in that direction

thanks!!
User Avatar
Member
606 posts
Joined: May 2007
Offline
Here's yet another idea, needs further development, though.
I'm just raying points inward and checking if it hits other geometry (means an intersection). The problem is getting the proper direction to shoot the rays, it should be normal to the plane separating the two spheres. Now i'm just running a helper raycast, importing the normal direction of anything it hit, and using that to do the real raycast from the original surface. It's wrong, but closer than just raying along negative normal..

Attachments:
rbp_cellseparation_ee.hip (157.7 KB)

User Avatar
Member
606 posts
Joined: May 2007
Offline
eetu
The problem is getting the proper direction to shoot the rays, it should be normal to the plane separating the two spheres.

I think it would work like the attached. Can't test it right at the moment, but it should..

edit: Oh, and if the spheres are of different sizes, then just multiply the normal vectors by that value when finding the origins..

Attachments:
ee_cell_tracing.png (83.1 KB)

User Avatar
Member
606 posts
Joined: May 2007
Offline
Ok implemented the above, works pretty much as expected, although it has problems when there is an overlap of more than two spheres.

Attachments:
ee_cellseparation2.jpg (65.2 KB)
rbp_cellseparation_ee2.hip (919.5 KB)

User Avatar
Member
271 posts
Joined: March 2012
Offline
Doesn't the fuse1 node take care of that?
User Avatar
Member
606 posts
Joined: May 2007
Offline
Anti-Distinctlyminty
Doesn't the fuse1 node take care of that?

Well, yea, but that's side-stepping the issue. If you have animated points, you can't just delete particles when they are close to each other. Then again you wanted to have the cells try and keep each other at a distance, so maybe that'd be enough.

I haven't tried, but I suspect there might be some popping with the dual/voronoi method, however elegant that seems on first look. I would still bet that the foreach-methods earlier on this thread are the ones that will be the most reliable in the end..
User Avatar
Member
271 posts
Joined: March 2012
Offline
True, I need to take a closer look at the previous solutions and properly understand them.
I did animate some of the points earlier, and for the most part it worked well, but when two points are close and they move past each other, the flip is quite extreme.
User Avatar
Member
271 posts
Joined: March 2012
Offline
How about using a particle sim to keep the points a certain distance from each other?
That combined with the stuff from the other thread
http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=31451 [sidefx.com]
about confining particles to an arbitrary surface and that should work. Maybe?
User Avatar
Member
271 posts
Joined: March 2012
Offline
Just been fiddling around with this - just trying to learn the current best method for getting cells before I can progress to the actual cell division.

Results are ok-ish, but there's something weird going on with the voronoi fracture that are causing gaps to appear in my layer of cells.

Any thoughts?

Edit: Just having a look at eetu's solution posted above. Seems a lot better than what I have Figuring this stuff out using a tiny netbook is kinda difficult .
Edited by - May 16, 2014 09:28:54

Attachments:
cell_divide.hipnc (181.8 KB)

User Avatar
Member
99 posts
Joined: July 2007
Offline
try feeding only points without geometry into second input of voronoi fracture sop
User Avatar
Member
271 posts
Joined: March 2012
Offline
Yeah, that seemed to work. Weird, as I thought that the voronoi only took account of the points anyway.
User Avatar
Member
271 posts
Joined: March 2012
Offline
eetu
I would still bet that the foreach-methods earlier on this thread are the ones that will be the most reliable in the end..

Was the one with the for loop ever posted?
User Avatar
Member
271 posts
Joined: March 2012
Offline
eetu,
The results with the 2-stup ray casting were a bit off sometime, but I had another idea, but my lack of experience with Houdini is holding me back.
To find the correct direction to ray cast the geometry, can we somehow use the vector gradient of an SDF volume? That should always point in the correct direction I think.
User Avatar
Member
606 posts
Joined: May 2007
Offline
Anti-Distinctlyminty
eetu,
The results with the 2-stup ray casting were a bit off sometime, but I had another idea, but my lack of experience with Houdini is holding me back.
To find the correct direction to ray cast the geometry, can we somehow use the vector gradient of an SDF volume? That should always point in the correct direction I think.

Yep, that is a very common technique, see attached. Ray SOP with Minimum mode should yield a similar result.

Attachments:
ee_sdf_gradient.hip (75.4 KB)

  • Quick Links