InterpolatePoint but starting with a moving tangent source to a circle ...how?


#1

V4 and V5

I am drawing an aerofoil section, its trailing edge is a small circle as opposed to a point. I need to start tangential from the circle and head around the top of the aerofoil section, round the leading edge and end tangential back on the circle, giving the trailing edge tip of my wing section a radiused curve edge of 2mm.

Line tangent from curve sees a line able to start from a circle and as the next point of the line is decided on, the point on the circle moves, following the circle edge to allow that tangent to happen. The resulting line flows correctly into the circle.

However I need to use the InterpolatePoint tool starting from the circle and running through points, its only start option is tangent, but that click on the circle having selected start tangent sees a non moving ‘tangent source position’ formed on the circle using the tangent at the position of the click, which does not then auto adjust as the curve out through the points is made, so no tangential start to the curved line through the points happens, it instead uses the tangent at that ‘pick’ on the circle and the curve does not flow correctly into the circle.

How can I start and end at circles when using InterpolatePoints tool ?

I try starting off with the line tool that allows a moving start tangent on the circle, but then switching to the InterpPoint tool sees the draw action lost, its not posible to switch tools during a draw.

Steve


Best approach please for end InterpCrve tangent to a circle
Curve through points tangent to two circles...how?
(Menno Deij - van Rijswijk) #2

Why not put the circle in later using Circle Tangent to 2 or 3 curves? In the example attached the open “airfoil” was closed using Circle Tangent to 3 curves, followed by trimming the excess airfoil and internal arc.

Tangent Circle.3dm (45.2 KB)


#3

Hi,

The circle has to be 2mm rad, simply creating a circle tan to curves allows curves to dictate circle diameter.

The command Interpolate Curve has to have an ability to start tan to a circle, it appears it hasnt.

Attached the task, the aerofoil was drawn with a flat end and it should end on a 2mm rad circle which must sit within the shape, i.e. not make the aerofoil section any longer. Creating a circle tan to thee curves here sees it become larger than 2mm rad.

I even tried using the line tool tan to curve option, draw the first part from 2mm rad circle out to the first point, establish where on the circle the line would come, then use that position on the circle to start my InterpCrve, but that sees the resulting curve higher than my line, even the tangent that you get to pull out was at a different angle to the line,…how become ??? The idea should have worked better than that though mathematically its not correct, it was potentially a better shape by using the same point on the circle for starting from that the straight line tan to curve used ! !

SteveInterpPointTangentToCircle.3dm (33.4 KB)


(Pascal Golay) #4

Hi Steve - If there are only two tangent curves, you can specify a radius and Rhino will find the correct circle. In your example the curves are farther apart than 4 units at the trailing edge, so there is no 2 radius circle that fits- unless you extend the curve out past the vertical line.Then you can fit a 2 mm circle that is tangent to the airfoil curve but it will obviously be aft of the vertical line by a little- since that line is 4mm long it cnnot be the diameter of a tangent circle with the curves you have in place. If it IS the diameter of the desired circle, then a workaround is:

Trim the curve at the last point before the trailing edge.
Make a line from the new trimmed end and snap it Tangent to the circle.
Match (Match command) the line to the trimmed curve for curvature or tangency, and make sure the ‘preserve other end’ setting is for Tangency.

InterpPointTangentToCircle_PG.3dm (37.2 KB)

-Pascal


#5

Hi Pascal,

  1. forgetting my particular example of the options use, there needs to be a way of starting off from a circle tangential to it with InterpCrve just as there is a way of doing so with straight line ? Maybe call it StartTangentOnCrve with C as the keyboard input.

Am I right ?

I have to be…the tail does not wag the dog !

  1. to work around this absence of an option, your method introduces to me a Match command I wasnt aware of.
    As I use the InterpCrve command I see the curve formed between points 1 (start point) and 2 still alter as I move my mouse cursor to the next point and the next point, maybe by point 4 its about done with influencing curve between point 1 and 2.

I wanted this influence effect to still be possible when starting from the circle in my example.

In my example the circle must stay there and at that radius, will the Match command force the already drawn curve with InterpCrve to act in this ‘influence’ way along its length out to point 4 or will the curve from circle to point 2 and no further be the only part of the curve that adjusts its shape, in effect the rest of the curve forces this one segment to fit in.
I want this one segment to influence the rest out to point 4 or beyond so it all flows just as if there had been the missing option called StartTangentOnCrve

  1. Can we please have this option added and is this possible somehow now or do we have to wait until V6. I need it now though and cant believe it doesnt exist out as far as V5 as I have loads of these to do from now on !

  2. I even tried using the line tool tan to curve option, draw the first part from 2mm rad circle out to the first point, establish where on the circle the line would come, then use that position on the circle to start my InterpCrve, but that sees the resulting curve higher than my line, even the tangent that you get to pull out was at a different angle to the line,…how become ??? Please try that and see what I mean

Steve


#6

Rhino will make a curve that is tangent to your small circle from wherever you pick on the circle using the StartTangent and EndTangent options. You are expecting that Rhino’s Interpcrv command will change your tangent pick points based on what you think makes makes a better looking curve. That would involve Rhino knowing how to read your mind, so I’m pretty sure that isn’t going to happen.

In the enclosed file shows how you might get the curve you want. The two red lines are drawn as helpers. The red lines are tangent to the circle with the other end about midway from the two start and end points in your original interpolated curve. The cyan curve is what you get using this method.

Interpcrv.3dm (34.7 KB)

You would want to draw the helper line to somwhere between the first point and the circle tangent point


#7

i don’t see how you’re expecting this to work out… the reason the sliding(?) tangent point works with a line or a arc is because there’s an exact point in which tangency will occur with the original curve depending on where the second point is placed… with interpCrv, the first tangent point could still happen anywhere along the original curve regardless of where the second point is placed…

there wouldn’t ever be a correct place along the original curve for rhino to slide the tangent to because any point on the curve will work… that’s why you have to tell rhino where you’d like the point of tangency to be then build the curve from there.

maybe rethink your approach on drawing this curve?


(Menno Deij - van Rijswijk) #8

I have approached this as follows:

Create a vertical helper line (see document)
trim the section away to the right of the helper line.
Then use the Extend (Type=Smooth) command with the Tangent object snap on the circle to get smoothly extended trailing edge that ends tangent to the circle. Done this on both sides.
Lastly, use the extended curve as a cutter to trim the inner part of the circle away.

IMHO this is the cleanest and fastest way to do this. The only choice that you make it where to cut the original section.

InterpPointTangentToCircle.3dm (53.5 KB)


#9

That merthod doesn’t make the curve tangent to the circle. The tangent snap finds the point on the circle where a line is tangent to the end of the curve and the circle.


(Menno Deij - van Rijswijk) #10

Ah, well I stand corrected. :smile:


#11

Interesting drafting exercise, but you are carrying on as if it actually will make a perceptible difference in the airfoil characteristics, which it most certainly will not. Just chop it off vertically with a straight line at the trailing edge. If you build it round off the edges with sandpaper.


#12

Jim,

You are expecting that Rhino’s Interpcrv command will change your tangent pick points based on what you think makes makes a better looking curve. That would involve Rhino knowing how to read your mind, so I’m pretty sure that isn’t going to happen.
Nothing about what I think looks best, When I use the straight line tool and start tan on circle it picks the best spot for the circle line to carry on into the straight line. I use the program to mathematically decide that. I seek that mathematical help with a curved line as surely there has to be a point on a circle that suits the correct geometrical placement of a line if it is to be tangential, else it will show in any render etc as imperfect.

If that straight line happens instead to be curving, there has to be a mathematical point on a circle that allows that curve to sweep mathematically correctly into the circle, not what pleases my eye, but what is geometrically correct.

I am after geometric correctness. Not just on a 2mm circle which could be sanded down, but on ANY circle for any curve.

Hi Jeff, you say:-

i don’t see how you’re expecting this to work out… the reason the sliding(?) tangent point works with a line or a arc is because there’s an exact point in which tangency will occur with the original curve depending on where the second point is placed… with interpCrv, the first tangent point could still happen anywhere along the original curve regardless of where the second point is placed…

there wouldn’t ever be a correct place along the original curve for rhino to slide the tangent to because any point on the curve will work

Any point wouldnt work though, as I head off out through my points clicking away with InterpCrv the curve shape alters at first and the further away I go the less it then adjusts for the first few points, my arbitrary pick on the circle needs to be able to move to choose the best location for the end of my curve to flow GEOMETRICALLY CORRECTLY into that circle, as opposed to what my eye fancies. Rhinos final choice being made when I right click and end the draw.

there’s an exact point in which tangency will occur with the original curve depending on where the second point is placed…
If we take a curved line and marry its end to somewhere on a circle, is it geometrically not possible for there to be a unique spot on that circle for that curved line to be tangential to a circle ?

AIW depending on what this is about, and how big circles might be, yes to brush aside this need, one could sandpaper the aluminium sheet down, not sure if it would break there in flight though, but I dont wish to brush the dirt under the carpet, I wish to consider any circle, not just a 2mm rad one, as this need will arise again on something different.

I used Pascals suggestion of trim curve at last point before trailing edge, make a new line from that point to Circle snapping on Tan.
Match command the line to the trimmed curve for curvature and preserve other end is set to Tangency, apart from two picks of the line needed to get the options to appear !!!, the command then proceeds to nuke half my line ! V4 and V5…doh !!!

Jim

In the enclosed file shows how you might get the curve you want. The two red lines are drawn as helpers. The red lines are tangent to the circle with the other end about midway from the two start and end points in your original interpolated curve. The cyan curve is what you get using this method.

Basically like I did, you use the straight line tools Tan from curve ability in a snap to tan way instead of start on tan, or does such option in fact see a difference in the tan line ?

For my equivalent of your red line I went from circle to first point, you have gone for midway from circle to first point snapping on tan. Was the midway choice your own idea or a mathematical likelihood of better fit ?

Did you then use interpCrv and choose start tangent or just start on the end of the line and head off through my points ignoring the other end of your red line. I tried the latter but my curve doesnt quite fit yours so I guess yoy did start tangent. Trying that it as good as fits yours. Maybe the amount I pull the tangent out varies it.

Steve


#13

The tangent point changes for a line. A spline can be tangent to any point on the circle.

What Interpcrv does is mathematically and geometrically correct… The curve will be tangent no
matter where you pick on the circle.


(Pascal Golay) #14

The end you pick on the curve to modify is the end that is changed. My guess is you are asking Rhino to match the circle end of the line to the trimmed curve and the result is a curve folded on itself.

-Pascal


#15

yeah, any point Would work… these four curves are all geometrically correct (tangent to the circle) even though they all share the same 4 additional points.


#16

Hi Pascal,

My guess is you are asking Rhino to match the circle end of the line to the trimmed curve and the result is a curve folded on itself.

see the video sent,
I was clicking on the end of the line nearest the point we trimmed the airfoil line at point 1. V4 and V5.

Steve


(Pascal Golay) #17

I was wrong… in the clip you are in fact clicking the line twice and the line matches to itself. The goal of Match is generally to match one curve to another curve, not to itself, I am not sure how you expected Rhino to react if you do not give it the curve you want to match to.

-Pascal


#18

Ooops I didnt see the command change to curve to match.
all ok now.
Cheers
Steve