algorithmic modeling for Rhino
Hi All,
I'm currently in the process of wrapping my head around GitHub. Seeing as how I'm now back in academia I thought this might be a good chance to share some code, for once :)
CITA recently helped conduct the Amphibious Hamburg workshop at the AAC in Hamburg co-tutored by GMP Architects, SBP Engineers and terrific guest tutors including our very own David Rutten and Daniel Piker (thanks again!). The workshop was focused on tensile membrane design for an Olympic swimming pool enclosure. The pre-developed Grasshopper definitions were heavily dependent on Kangaroo and GHPython. For the analysis of form found membrane meshes a couple of custom GHPython components were quickly developed for respectively curvature and drainage analysis (both critical factors in membrane design).
In order to test out GitHub I have uploaded (or pushed I guess!) the source code to both these components and a definition in which they have been implemented. I should note that the curvature analysis is purely based on a quickly "made up" logic (described in the component documentation) and that the drainage analysis is based on Benjamin Golders concept and Remy's VB code found here.
Link to GitHub repository:
http://github.com/AndersDeleuran/MeshAnalysis
Video demo:
https://vimeo.com/100984691
Hope that might be useful to someone out there.
Best,
Anders
Comment
Sweet, thanks Will. Looks great, I'll be sure to give it a look..
Hang on, I found it! I used the classic Taubin Tensors approach explained here: http://pdf.aminer.org/000/234/737/curvature_approximation_for_trian...
Yes, sorry, here you go: https://gist.github.com/pearswj/4755800. This was back when numpy wasn't so readily use-able in RhinoPython so I wrote my own (albeit relying on ALGLIB for an eigenvector solver).
I'm trying to track down the paper I used but for the time being here's someone else's code, following the same approach, to assist in understanding the process: https://github.com/crcsaenz/hatching/blob/master/src/curvature.cpp
Hi Will. No worries, thanks for the warm Git welcome and for replying to the post :)
I was actually thinking about how one might calculate curvature direction after writing the curvature analysis method in the blog post. So indeed a good place to share. Are you using a custom matrix module in your CurvatureTensors function, as far as I recall Python doesn't have a standard matrix type (hence the use of nested lists or numpy)?
Anders, thanks for sharing and welcome to the GitHub revolution ;)
This reminded me of a RhinoPython script that I wrote last year to extract local curvature tensors from a mesh: https://gist.github.com/pearswj/7151030. I was focusing more on getting the direction of minimum and maximum curvature. I think next to your work seems like a good place share it (not meaning to hijack your blog post!).
very nice,Thanks for sharing
Nice. Thank you.
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by
You need to be a member of Grasshopper to add comments!