Grasshopper

algorithmic modeling for Rhino

I have a conic surface that I created in Rhino using the loft command. I want to create a surface texture that looks like a bunch of hairs leaning on the surface. The end result should be similar to the following image of a hut. 


I do not have experience using kangaroo to simulate forces, but I have made a test using multiple random components on a flat surface to fake the effect I'm going for. See image below. 

The main issue I'm having is that the original file used for my test surface used box morph and the variable pipe command. Box morph is a bit touchy on a curved surface and it is not as elegant as I would like it to be (ie. I want all the hair diameters to be perfectly circular and uniform in size). Variable pipe also does not align the base of the hair with the existing surface, which means I have to offset the surface and then trim the excess of my pipe.....leading to heavy code and the file crashing. 

So I'm trying to rebuild the "hairs" using a new method:

1) Subdivide the surface

2) Find the midpoint of each surface and then create a straight line that is perpendicular

3) Move a point along the on the straight line (between the start and end points) in the z direction, and then create a nurbs curve using this point and the start and end points 

4) create a circle at the base of each crv, and then two more circles: one at the point in the middle point (I think I set it to .9) and the end of the curve

5) The problem: Now I am trying to sweep along these three circles and the nurbs curve to create a bent hair/pipe that is flush with the conic surface, but it does not work.

If someone can help that would be amazing. I've included my original surface test file and my new file where I am rebuilding using the sweep command. Below is a drawing of what I'm trying to achieve. 

Views: 3474

Attachments:

Replies to This Discussion

Not too difficult.  Here is a revised version that makes it easier to modify the number of circles being lofted:

Remember to keep the 'PopGeo' point count low until you're happy with tube shape!

Attachments:

Oh this is great, the only issue is that I need the placement of the circles to be modifiable. Hyungsoo Kim script above does this. Actually I'm trying to work off of their script now (merging a lot of your components) to get the perfect solution I'm looking for. 

The only problem I'm having is merging the list (See my reply to their post above).

Modified length, bend and loft options ('Loose') for better tube shape?  I'll leave the random bending to you or Hyungsoo Kim:

Attachments:

This is nice, I mean is there a way to move the planes that are set up. Right now I think they are evenly divided along the crv. I want to control the placement of the planes on the curve before placing circles for loft. 

I figured you might ask for placement of the circles at arbitrary points instead of the evenly divided 'PFrames'.  Had to mess with loft options to make it look decent:

I'll try to leave the rest for you!

Attachments:

This is so close, Joseph! Thank you. Okay I have to mess with this now to try and the hairs to randomly hang at different heights in the z direction

You might as well do random lengths while you're at it. ;)  Neither is difficult, just copy and modify the random rotation group.  Have fun.

Joseph, stop it! You are killing it ;)

I put the hairs back on a grid, so I can poke the base circle (or create one) and then poke the thing through the surface so it looks like they are actually sticking through it. I love the randomness of everything else. Random lengths are a must, will def add those next! Here's an image of how it's shaping up on my final geometry so far. 

The only thing that is bugging me is the strange bald spot/seam. Not sure why that's happening on this surface. 

It's just a lofted surface from two curves. It's perfectly conic as well. 

The gap at the seam probably happens because 'Pull' to surface fails to return a whole circle when they overlap an edge.  Good at top and bottom edges, not so good at the seam.  If you are going to poke them through the surface, you can skip the 'Item | Pull | Replace' and connect 'Cir (Circle)' directly to 'Loft', though you probably won't like what happens at the top/bottom edges.  These are the finer points of GH.

P.S.  Wait, that can't be right because I have tubes crossing the seam.  Our code has probably diverged somewhere.

P.P.S.  Or maybe it's because you trimmed some openings in that conical surface?  I don't know without seeing your code.

I rethought this and figured that if I offset the original surface outwards and then extrude the base circle it gives the effect I'm going for. 

Now when I try to offset my surfaces (the hairs). I notice that the small circle that I extruded to poke through will offset, but the twisted/floppy hair will not. 

the screenshot is taken after offsetting both surfaces. Nothing happens when I attempt to offset the hair though.

I just figured out it's because it splits the hairs into two surfaces. Ahh. This would mean I would have to select each one and then offset them individually. Oh god. no.

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service