Jump to content
jonathantopf

Tesselating spheres

Recommended Posts

Hi there, I'm trying to create a bundle of wires and cant find a way thats quite satisfactory. I have found lots of ways but they all end up with intersecting geometry.

 

What I'm doing currently is doing a scatter over a circle and copying random  sized circles over the scattered point and extruding that, bviuosly this leads to intersecting geo. I jut cant think of a way to create points that tesselate properly.

 

With that in mind how would anyone go about creating a cross section like this to extrude?

 

i6l__.jpg

 

Thanks!

Share this post


Link to post
Share on other sites

A fun challenge :)

 

Here is one method with voronoi + dual:

post-2678-0-65200400-1395755836_thumb.jp

 

Another, maybe better, idea would be to check the distance to the closest point, and use that as the radius for the point to copied.

ee_circlepack.hip

  • Like 3

Share this post


Link to post
Share on other sites

Not as good as Eetu's but I wanted to give it a try and made 2 different variations :)

 

 x896St7.png

 

Also is there a way to use Houdini's voronoi tools to split a model but keep the parts fused? I know you can use the Fuse SOP, but for complex shapes after using voronoi, it doesn't work well, so you either fuse more than you want or have holes.

scatter.hip

  • Like 2

Share this post


Link to post
Share on other sites

@Magneto       Any reason you used scatter +copy to get 500,000 point instead of just setting the scatter sop to 500,000 point? Any advantages this way? Just curious..

 

Can anyone make it perfectly symettrical/ ordered? Something like this but more procedural...

 

I know I should use a Copy sop at he begining but I stamping a value at the radious didn't work. I am doing something wrong obviously...

post-9497-0-46170500-1395784714_thumb.jp

ordered.hip

Share this post


Link to post
Share on other sites

The only reason was to get a bit more "chaotic" distribution :) If you just use a single Scatter SOP, then it pretty much covers everywhere evenly with a very high number of points, which is why the second pic has circles that are a lot more uniform in radius.

Edited by magneto

Share this post


Link to post
Share on other sites

@ Magneto    Cool approach! I wish the same functionality was part of the Scatter sop!

 

Useless info of the day: Modo actually implements something like in its " Replicators" so that Replicas don't get on top of each other...

  • Like 1

Share this post


Link to post
Share on other sites

Wow so many responses! I invented another solution also as i realised I ddint need all the circles in the center as the whole thing wold be extruded:

 

21eugbk.jpg

 

Heres my workflow:

 

Create circle

Scatter points on circle

Sort points radially using expression: atan2($TY, $TX)

using a vop sop work out the distance between each point and its clockwise neigbour, add a radius attribute thats 1/2 that distance, then move current the points position in the vop sop to the center point between the itetrating point and it clockwise neigbour.

use a copy sop to copy circles to each point and stamp the radius value to the circles radius

 

Hope that makes sense!

 

I actually think some of the answers above look nicer but my solution is ligher on the geo so imgoign with that for now, thanks for all the responses!

Edited by jonathantopf

Share this post


Link to post
Share on other sites
On 25/03/2014 at 2:58 PM, eetu said:

A fun challenge :)

 

Here is one method with voronoi + dual:

post-2678-0-65200400-1395755836_thumb.jp

 

Another, maybe better, idea would be to check the distance to the closest point, and use that as the radius for the point to copied.

ee_circlepack.hip

Im tunning this neat old little trick in h18, but not  circle are copied to every point, can't see the reason and will be curious to know why?

 

v*

 

 

Share this post


Link to post
Share on other sites
Posted (edited)

Hi,

it works for me, if I turn on "Minimum Distance" method instead of "Project Rays" in the ray sop.

 

 

btw: if you take the idea using the closest distance as radius, you can calculate the greatest radius of each circle, which has the prim centroid as center an touching at least one line of the primitive (but without overlap).

This radius can be used to set pscale for copy to points node aswell.

 

ee_circlepack_ctp.hipnc

Edited by Aizatulin

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×