Trouble getting perp frames to correspond with even divisions of a curve

Hello! (Relative grasshopper newb here).

I’m trying to create even divisions of a set of curves and place a perpendicular frame at the division points to create a cylinder there.

Starting with a segmented line joining a series of points on the left, then going to a filleted line joining the same set of points, then a fit point curve, then a control point curve through the points.

Comparing where the Divide Curve points land relative to the Perp Frames, the segmented and filleted lines are dead one, but the fit point curve is a bit off and the control point line is way off.

Ideally the perp frames should be landing at the appropriate division points so all the lines are “equal” with regard to where the discs are created.

If anyone can explain what I’m doing wrong, would be very grateful!


Disc Generator Share.gh (17.0 KB)

I suspect it might have something to do with the concept of parameterization as talked about here:

You’re using the same parameter values for curves that are different.

Does ‘equal’ refer to the points being aligned from curve to curve?

You could try projecting the polyline vertices to the other curves:
Disc Generator Share.gh (23.6 KB)



Is that what you were after?

2 Likes

when you divide a curve the first point lands on the curve start point (Reparametrized Domain = 0) and the last point lands on the curve end point (Reparametrized Domain = 1)

in your definition the parameters at which you create perpendicular frames do not follow that pattern:

so, if you want to get perp frames on division points, just use the “t” parameter values found by Divide Curve:


Disc Generator Share_Re.gh (19.5 KB)

2 Likes

I was about to add a (now irrelevant) simplified version but then after Inno’s response I realized you were actually dividing the curves - totally ignored that by accident as you can see in my image:


LoL :rofl:

2 Likes

because you are a creative fella who thinks outside the box :heart:

1 Like

Thank you inno, that is what I was after, at least in part!
I think I hard tried connecting the parameter output from the divide curves but failed to run it through a panel so it wasn’t working.

I had a reason for doing this, I think… which was I wanted to avoid putting a disc at the 1 and 0 position of the curve, though I assume there was a better way of doing it.

I think I understand now how this was causing issues.

I will try this, as I think this might solve another part of the issue that I’m getting which stems from going from a polyline with equal length lines to a curve which doesn’t preserve the relationship between the “peaks” and “valleys” when it is subdivided into equal lengths.

1 Like

Sorry for my previous oversight.
Just in case here’s that ‘simpler’ version, using plane-curve intersections instead of the projection.
Since your curves are flat on the XY plane, parallel to the Y axis, I just put a XZ plane on each point for the intersection alignment:
Disc Generator Share (1).gh (40.0 KB)

Question:
Will you be working with aligned curves that have different/arbitrary orientations (non-parallel to Rhino axes)? For that matter the plane must be determined/constructed differently - I guess one way is to make a vector from one of the guide polyline’s end points to the closest end point of the next available curve - project the points with this vector or use it to construct a plane.

1 Like

Disc Generator Share (2).gh (37.3 KB)

1 Like

it’s not necessary to run stuff through a Panel, it just helps visualizing the contents :+1:

I can think of two different solutions to this:

a) if you are not interested in having a fixed Llength offset but want to set that distance as % of total curve length:

Disc Generator Share_Re_Domain.gh (17.8 KB)

b) if you want to set a particular numerical length amount as distance from curve start/end:

Disc Generator Share_Re_ExtendCrv.gh (17.1 KB)

2 Likes

My first/previous understanding was that you required a master curve (the polyline) to align the placement of points across all curves. Not sure that was/is the case, but here is the other thought with a ‘transformatoin-based’ way:
Disc Generator Share (3).gh (57 KB)

*Edit:

And a slight modification (+2 components added):
Disc Generator Share (4).gh (52.2 KB)

Obviously my new goal is to counter Inno’s elegant two/three-component solutions with a TON of extra, unnecessary components :rofl:

2 Likes