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