# prevent stretching with bendoperation

## Recommended Posts

Hi,

Could someone please take a look at the file attached. The goal in this example is a constant arclength of 1 impartial from the bending factor.

Thank you

Lucas

prevent_stretch.hip

Edited by hatrick
##### Share on other sites

here is one of the ways to do it for your case

prevent_stretch_fix.hip

##### Share on other sites

it's incredible how helpful and fast this community is! ... thank you anim !

##### Share on other sites

any ideas for a method using the carve SOP. In my case i'd like to control the perimeter of a surface after! it is build up from curves. So the idea was to convert to nurbs and use the carve SOP for the cut/length operation. The measurement would happen with an extracted curve similar to the prevous example.

Cheers

Lucas

Edited by hatrick
##### Share on other sites

a further issue is that i only can define a maximum seg length in the resample no minimum ...

does anyone have an explanation why the initial setup with the carve SOP does not work?

Edited by hatrick
##### Share on other sites

I think carve isn't working correctly because it's not sampled by distance (or arc length) but by U-coordinate, which is not linear

so if the whole length is 10 units and you want 20% from that, setting carve U to 0.2 will not necessairly give you that, it will give you length from u = 0 to u = 0.2 which can be of any length especially if the control points on curve are more non-uniformly distributed in 3d space

why do you need minimum segment length? maximum segment length is actually exact segment length that will be used unless you reach the end of the curve

##### Share on other sites

Could someone please take a look at the file attached. The goal in this example is a constant arclength of 1 impartial from the bending factor.

Sorry, didn't look at your file, but try using a Basis SOP with Parameterization set to Approximate Arc Length.

##### Share on other sites

@anim. The bending process not only causes stretching but compression. So it seems the max seg length in the carve SOP prevents the curves from going over the wanted value but not below. So i thought something like the minimum seg length could solve that issue.

@eward. Thank you! i'll give it a try.

##### Share on other sites

I'm not getting how to use the BASIS SOP here ....

thank you

##### Share on other sites

... The bending process not only causes stretching but compression. So it seems the max seg length in the carve SOP prevents the curves from going over the wanted value but not below. So i thought something like the minimum seg length could solve that issue....

I'm getting lost here, you are applying some deformation on the curve which makes it longer -> in that case it's easy to trim it to original length with no problem using Resample SOP

if the deformation causes it to shrink how exactly do you expect houdini to compute missing part? straight line in tangent direction? continuous arc in outgoing curve curvature? in any way you need to recreate it yourself, then you can run Resample SOP to trim it to exact length and keep the same number of segments

if your problem is easier however, like if you want bend without altering the length of the curve you can make one using VOP SOP or even easier download from exchange

http://www.sidefx.co...0&versionid=670

or maybe

http://www.sidefx.co...1&versionid=721

I haven't tested them but they sound like doing the correct type of bend, because houdini's bend is a joke

Edited by anim
##### Share on other sites

probably i missed the point that building up the curve from below the wanted length would be a more complex task?! ...

anyway. Please see the scene file attached that should illustrate the issue in more detail. The stretching comes from several deform operations. I asked sesi to take a look at the file. i'll share the feedback here. In the meantime i'm very curious about your thoughts. (The scene contains a great "book" asset from a talented artist, who was kind enough to share his work on the web. Unfortunately i can not remember his name)

cheers

lucas

COMMUNICATION.rar

Edited by hatrick
##### Share on other sites

At first sesi came up with a simple and effective, but non procedural solution. Shearing the geometry befor the bend operation with a transform SOP gives quite nice control over the stretching behavour. Never the less an exact, procedural method would be great!

cheers

Lucas

##### Share on other sites

• 2 weeks later...

Here is a procedural setup provided by SESI support!

Rollup2.hip

##### Share on other sites

Here is a procedural setup provided by SESI support!

that's clearly not maintaining original length

- original -> 17.6

- deformed on frame 60 with 50 segments -> 19.3

- deformed on frame 60 with 1000 segs -> 19.3351

what problem do you have with single Resample SOP solution? it's not preserving length 100% but it's much closer than any other methods I've seen

- original -> 17.6

- deformed on frame 60 with 50 segments -> 17.5696

- deformed on frame 60 with 1000 segs -> 17.5988

so until Carve SOP can work in normalized arc length values as well (not just parametric uv) I think resample SOP is the way to go

or maybe I just completely misunderstood what you want

curve_maintain_length.hip

## 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.

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

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

×
×