algorithmic modeling for Rhino
Hey All/David,
I am using an inverted catenary to form the basis of an arch structure. However, I am trying to figure out how to define height of the catenary arch.
Currently, the catenary grasshopper component has inputs:
A (pt A)
B (pt B)
L (length)
G (direction of gravity vector)
HOWEVER, since I'm not dealing with relaxed fabric or chains with a fixed length, specifying L has little meaning to me. Rather, I'm trying to set height H of the arch. Since this isn't an option to input into the component, I've been trying to figure out a way to solve for the appropriate L such that the resulting catenary has the correct H.
Since the truly mathematical way to do this involves numerical integration, I'm wondering how the catenary component finds the curve's shape (so that I can reverse engineer this) and/or what an appropriate solution of height to length would be?
Thanks!
Michael M.
P.S. I have found a discussion similar to this at
http://www.grasshopper3d.com/forum/topics/catenary-arch-from-maximum
where a solution was claimed and a screenshot of it's effects shown. However, the script/example was never posted and so I still don't have a working solution, only a claim that it's possible.
Tags:
For a single catenary you can describe the geometry exctly usign a mathemtaical equation in which you can define the height or sag and then back calc to get the length.
Note, if you want to combine catanries togetehr then using the GH catenary compoennt will not give you an equilibrium form. You need to use some accurate form-finding alogirthm. See my examples if you are interested
Steve,
Thanks for the help. But I'm still confused. I'm pretty skilled in some languages, but I don't know anything yet about scripting in grasshopper.
That said, Im not trying to "combine" catenaries, so much as I'm looking for a way to input two points and a height (aka input three points and find the catenary that goes through them all), and have a catenary come out.
I was hoping i could just use the existing catenary component to do this since I need the process to react in real time to sliders changing the location of the two points or the height of the structure.
Hi again Michael
besides Chris' nice example, I think I remember that "input three points and find the catenary that goes through them all" was discussed here.
Giulio
--
Giulio Piacentino
Weaverbird development
Giulio,
Thank you! This was exactly the kind of thing I was looking for!
And thank you to Chris too!
Michael
Correction: Thanks to Giulio and Daniel!
What "mathematical equation" were you referring to? For a normal curve like a parabola or line I would know exactly how to back-calculate the length from the height or sag. However, mathematical nature of the catenary equation (y=a*cosh(x/a)) means you can't isolate 'a' without numerical methods. That is why I was wondering what method grasshopper used to find the catenary shape, so I could back-trace it.
Hey Chris,
Thanks for the help. Since I'm trying to create a unified user object, I need the solver to instantly work. Unfortunately, that means I can't have intermediate steps like Galapagos.
HOWEVER, Giulio Piacentino (above) linked me to a three-point catenary solver, which was EXACTLY what I needed. Thanks!
Michael M.
I've had just the same issue and I wrote a VB component, that does nothing but convert the height of a catenary to its length, so you can use that for the catenary component.
You'll only have to figure out reasonable starting values for amin and amax.
Lukas
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
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by