Complex Curve Blend

Hello everyone,

I want to create curve blends with additional constraints using grasshopper (or any script component within).
Disclaimer: Chances are it might not be considered a curve blend after all :smiley:

This is the situation:
I want to create curve blends connecting an asymmetrical curve to a circle (r=3000).
Note: this sketch only indicates a curve blend on one side, but eventually I want to have blends on both sides.

Now the additional constraints:
As starting condition the circle´s quadrant is located 100 untis orthogonally to a previously defined point on the curve.
The blend curve hase to keep a gradient to the initial curve of 1/10.
The blend curve needs to keep this gradient until it tangentially changes over into the circle.

I´ve already approached to meet this constraints approximately by interpolating through offsets, intersetctions and sample points. But this leaves me with a lot of sample points + consumes a lot processing power, and I hope there´s a more mathematical and elegant way for this problem.

Thanks in advance,

does it matter that the intersection between the red curve and the black one isn’t tangentially continuous?

if no, simply decide where on the black curve the blend should start, split, rotate by alpha and… a few steps later… do the rest of the blend

No GH code of a “test bench”? So no help from me.

3. Attach minimal versions of all the relevant files

thanks for you answer :slight_smile:

The intersection between the red “blend” and the black curve should not be tangentially continuous but as you stated in your second paragraph.

I´ve implemented what you are suggesting. But I´m having troubles deciding location of the blend start beforehand.

I guess, if I would want to geometrically deduct this I would need to start from right to left in this scenario:
Taking the arc as starting curve.
Finding the point on the arc where Alpha = ArcTan(1/10). (sample points)
From this point onwards interpolating a “blend” that keeps a gradient of 1/10 to the black curve. (sample points)
Finding the intersection of the interpolated “blend” and the black curve.

A constant gradient means the “curve” is a straight line.

I´m referring to a constant gradient of 1/10 in relation to the initial curve. (I´m not sure if “gardient” this is correct term in this case)
One could also say I want to change the gradient of the initial curve so it “rises/falls” more pronounced.

Create a vertical line starting at the center of the arc.
Rotate that line by ArcTan(1/10).
The point of intersection of the rotated line and the arc is where the arc will have a gradient of 1/10.

Added: Alternative method.
Create a line with gradient 10/1 from the center of the arc.
The point of intersection of that line and the arc is where the arc will have a gradient of 1/10.