Grasshopper

algorithmic modeling for Rhino

I'm trying to get these two towers to join on the top. I have the two top green curves chosen in list item. but I dont know how to get the towers to loft together.

Any suggestions?

Files are attached below.

Views: 1852

Attachments:

Replies to This Discussion

Hello Julie,

how you want these to get lofted? If you just loft em as they are, you will have a flat surface from one to another. Perhaps you need a 3rd curve describing how these will get lofted using the sweep component.

best

alex

I want the top two green curves to become one curve. Does that make sense?

yes but how? since they don't have an intersection. if they intersected you could use region union. now that they don't you will still have to decide how to join them, through extra geometry.

is there a way to manipulate the range or domain so that they have an intersection?

To clarify:

1. You have some profiles stacked along, say, Z that yield 2 closed surfaces (the "towers").

2. You want to "modify" some or them (pairs of closed curves at the same Z) in order to loft them with other also modified pairs ... meaning that the "towers" at some areas they would appear "fused" and in some others "separated".

If all the above are true ... then you should create one profile out of the given 2 pairs (by using selected control points). There's a variety of ways to do that: for instance finding a "guide" axis defined by the 2 closed curves centroids and then creating a kind of "8" that engulfs the axis (by discarding control points that are not suitable for the desired shape of "8").

On first sight this appears very easy.

If however you want to individually (a) pick the pairs to be "fused" and (b) vary/discard the control points (based on some sort of aesthetics as primary criterion)  ... then this is also very easy but requires solely code.

BTW: If you want all that being "fused" into a liquid shape ... then you should try TSplines other wise the above method would yield separated lofted solids with hard edges between the "fused" segments and the 4 neighbor "pairs" (2 above + 2 below the fused segment).

BTW: with regard the "fused" into a liquid shape "option": If you want that type of seamlessly curvy "shape" (i.e. "blending" tubes and bridges between them):

then ... TSplines is rather the only option that you have (doing this with meshes is not recommended AT ALL - for a vast variety of reasons).

Here's a Rhino file with 2 tSpline "fusion" examples: the second one (left on purpose "unresolved" in the second bridge) indicates that there's not always roses around.

Attachments:

This has been very helpful! Thank you so much!

Well ... to tell you the truth I have several "things" that "fuse" curves in a vast variety of ways (including a bezier span that is the best option for you because it allows you to loft upwards (the fused profiles) and downwards (the pairs as you have them) with the minimum possible "visual distortion" - if we forget TSplines, that is) the only problem is that are made solely with code

Notify if you think that such a "component" could be useful to you (it doesn't bite ... it's just an "open" component: if you click on it you can see the code inside, he he).

There's also another way to mimic TSplines with nurbs but is rather quite complicated (also made solely with code): let's forget it at present time.

best

For instance (forget the white wire AND the other "fused" curves shown - they are due to some other option) and stick to the stuff with the pipe applied for clarity:

So if the pink is the "fused" curve and the cyan are your pairs ... you can loft north-south with (hopefully) the minimum visual "gap" (but that can't beat TSplines with regard the whole liquid result - but on the other hand TSplines are a bit of a handful to master and control 100%). 

I understand everything you're showing me.

I've never used Tsplines until now.. I'm seeing what you're saying. it's quite useful for things like this!

Well ... here's what I propose:

In order to get your hands dirty try to write down a def that does some sort of "fusion" (or blending or something, he he). Let's forget other methods to do that and stick to the Bezier span option (because this "guarantees" the LESS visual gap when lofting - actually that's a lie but stick to the plan) .

1. If we had ONE pair "suitably" oriented then things could be a bit more easier. But ... there's a bunch of pairs around and IF your pairs are different (in the true sense of the liquid madness, he he) ... well we need a policy:

2. Find either (a) the centroids of (b) the min distance points and define an "axis".

3. Find the ccx pts (case a) or use points from (b) and change the curve seams to these. This yields curves that start/end at some controlled "neighbor" points (critical if your curves are different or "twist" - as pairs - etc etc). This is ALSO critical when you want peace of mind when lofting (or use sweep1) because don''t get for granted what the Loft options component claims by the "adjust seams" thingy.

4. Optionally change the 2nd curve orientation in order to get a clock wise + anti clock wise pair. More on that later (is related with other methods to "fuse" this with that).

5. Define points at each curve using a pair of double values (0-1 if the pair domains are 0-1).

6. Split the curves (get the segments that you want) and define pairs of vectors (at end/start segment pts) that could give us 2 bezier spans.Don't forget to control the vector "lengths".

7. Unite the spans with the segments.

If all the above fail ... well... there's always the Plan B: I could post the C# that does this and several other ways to "fuse" curves plus a curve maker that is rather suitable for your tower adventures.

best   

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service