WIP BisectorCurve plugin in the making

unhandled

#1

Hi guys,
I am workin on a BisectorCurve tool to generate “center” curves between two other curves, and here is an example. It generates one center line, so the gray ones are made by bisectoring one edge with the result and so on.

The plan is to have this up for sale on Food4Rhino within a month, but I would need two or three testpilots.
Any volunteers? Preferably someone I “know”.


#2

Count me in - we need this constantly for students… Thanks, --Mitch


(David Cockey) #3

How does it calculate the bisector curve?

I’m willing to test.


#4

I could do some test too. Was dealing with some terrain data recently.


#5

I am afraid I won’t reveal that as it’s a total rewrite of a theory that is the result of many years of (very sporadic) thinking and tinkering that finally gave some results. It only works on open curves right now though.

I’ll keep you guys posted when I have a version for testing. Right now it doesn’t take scale into account and doesn’t like closed curves either. (the previous approach handled closed curves, so I might be able to migrate that into this) And it makes some quirks in the start and/or end if one short and one very long curve is “Bisected”. (Is that the most correct word for the process by the way? Or should I call it “interpolate2Curves”)

And it has some issues with extreme situations like this:

And I am sure there are tons of other small situations that aren’t easy to predict.

Edit: Or like below where the end points are very far apart. But I don’t intend to magically handle situations like that. I leave that up to the user to either alter the inputcuves or modify the result.


(David Cockey) #6

There are multiple definitions of the curve mid-way between two other curves. Here is a link to a method I developed for one defintion: Help needed with finding centre line through 2 curves


#7

It is far more difficult when the lines divorce from each other non-uniformly. I am curious to see Holo’s solution in action. I have been struggling with this case using GH definitions but with very little success. It worked when lines were, more or less, of equal length.


#8

Yeah, that is a good approach David, and it get’s complicated when the curves are caotic :slight_smile:
Any way I just started a new take on my approach to overcome some hurdles. It uses the same algorithm as my previous approach, and this gives good results so far, but is only a tech-demo for my self right now so I have to pick a few points and remove some stuff. None the less, it looks promising. I’ll try to have something for you guys during the week.

By the way, the curves are 2500 meters long and it took 0.33 seconds to calculate the Bisectorcurve.
Resulting in a polyline with 1160 points.


#9

Yep… those that we often encounter in topo maps - a “flat” somewhere in the middle of a slope.

These days I usually have them mount the curves in 3D, create a mesh with the curves and then re-slice the mesh. But that often results in a bad interpolation as well. As we end up projecting everything back to 2D for cutting anyway, if we could (sometimes) save the 3D step, it would be nice (another tool in the toolbox). But sometimes 3D is the only way to go.


#10

It looks very good, indeed.


#11

Yeah, the “problem” with using 3D is that it doesn’t always mesh the right way or loft to the “perpendicularish” area. But I think I am getting some interesting results here now with the latest approach…

Unfortunately I have to move on to other stuff (work + family) right now, so no more examples today.

Thanks for the feedback though!