Special spring solver: setting all edge lengths equal?

   5629   5   3
User Avatar
Member
5 posts
Joined: Oct. 2010
Offline
Hi there! I'm fairly new to Houdini, so I hope one of you can give me a little guidance here. Modo (my ‘native’ app) can solve the problem I'm working on in two dimensions, for UVs, but not in three, for a mesh.

I'm trying to: distort, or ‘relax’ a mesh object by moving verticies such that all edges are the same length. In essence, treat every edge like a spring trying to pull/push itself to length 1. Attached are a picture of the mesh I'm trying to apply it to, and the 2D solution (subdivided).

I've been messing around with the Spring SOP and the cloth functions, but haven't come up with anything and am getting a little desperate.

Thanks in advance!

Attachments:
Screen Shot 2012-10-09 at 4.01.33 PM.png (114.8 KB)
Screen Shot 2012-10-09 at 4.00.55 PM.png (64.4 KB)

User Avatar
Member
5 posts
Joined: Oct. 2010
Offline
Or, is there a way to set the ‘rest length’ manually for edges in the cloth solver, as can be done in nCloth? That would solve my problem perfectly, and I would love love love to be able to keep houdini in my pipeline instead of having to introduce Maya.
User Avatar
Member
1743 posts
Joined: March 2012
Offline
I've never used springs or cloth, but if you figure out a good solution, I'd really like to know how you did it. I have an industrial application that could really use a good solution to this problem, where all the lengths need to be exactly the same, the angles need to be sufficiently similar to nearby angles, and given those constraints, the surface needs to as close as possible approximate a specified surface. Hopefully someone can suggest something!
Writing code for fun and profit since... 2005? Wow, I'm getting old.
https://www.youtube.com/channel/UC_HFmdvpe9U2G3OMNViKMEQ [www.youtube.com]
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
The Cloth Object takes three different sets of geometry:
Geometry
Rest
Animation

Rest as an edge length constraint is already used by the Cloth Solver. Mainly the stretch parameters which is all you need to do this.

All you need to do is feed in your appropriate Rest geometry and this will apply the appropriate edge length constraints. Use the Plastic Deformation controls to relax those areas that are undergoing a lot of deformation.

Use a SOP Solver to affect the vector fexternal attribute to push the cloth about and to flatten it in whatever axis you wish.

Attachments:
uv_relax_with_cloth_v001.hip (195.8 KB)

There's at least one school like the old school!
User Avatar
Member
5 posts
Joined: Oct. 2010
Offline
Maybe I'm misinterpreting what you're doing here, because it's apparent you're much more familiar with Houdini than I. But, looking through your network, it seems like you're just using the grid object as both the rest geometry and the ‘distorted’ obejct. I, on the other hand, don't have any ‘neutral’ rest geometry to work with…
User Avatar
Member
691 posts
Joined: June 2006
Offline
Thanks Jeff, very nice cloth example!!!
Feel The Knowledge, Kiss The Goat!!!
http://www.linkedin.com/in/alejandroecheverry [linkedin.com]
http://vimeo.com/lordpazuzu/videos [vimeo.com]
  • Quick Links