Curve inside another curve

Hi, my goal is to create a smaller fixed area closed curve inside a larger curve but having 2 points on both curves collide while the rest part of the curve that are inside to not collide on the larger curve. I am just starting to learn kangaroo and I want to learn how to do this

[edit]
it can have a 3rd point to know which side to collide


.

No need for kangaroo in my opinion.

  • Get 2 points on your main curve
  • Get the n^th derivative at this points (here 1)
  • Build the curve from your point and derivatives (e.g. Arc)

This is the most simple approach and not exactly what you want, but the above description allows you to build custom curves, but it is a mathematical rabbit hole.

colliding_curves.gh (6.8 KB)

one issue i encounter is that the arc intersects/collides with the larger curve, is there a way to prevent this?

I also wouldn’t try this with Kangaroo. Instead maybe Galapagos…

What are the requirements for the new part of the curve which splits the larger one?

The only requirement is for the new closed curve to collide inside the larger curve while maintaining its area.

Please provide a Rhino file with a closed curve.

closed curve.3dm (57.6 KB)

Something like this?

galapagos_curve_area.gh (15.8 KB)

can this be not a straight line?

Yes. How would you define the two points where the original curve is split?

galapagos_curve_area.gh (17.0 KB)

how about this?

galapagos_curve_area.gh (19.9 KB)

at certain domain it won’t work
image

Yes I know. Maybe we need to use Kangaroo :slight_smile:

Starting with a circle, the target area is increased slowly. The curve might have self intersections at the beginning of the simulation but they should go away after a bit.

kangaroo_curve_area.gh (22.2 KB)

i am trying like this, but i literally have no idea how to properly do this

What do you expect me to do with that screenshot?

Rebuild the Arc as a proper NURBS and move all but the first 2 and last 2 controlpoints

i tried your script but it stopped here

how to determine the transform if i need to randomly choose the location of the cut?