other notation... where x, y and z are variables, and a,b,c... are constants but sliders, open for dynamic change. + Defining its interval.
- Another minor question; the intcrv box, it is by default a polynomial interpolation? In general, where can you get information on the underlying math behind the boxes?
- Is it possible to define the intervals on the sliders based on other sliders or inputs?
Many questions, but I have been trying to figure this out for quite some time now. I am truly grateful for all help on this matter! :) Maybe they will be of help to other engineers or architects out there...
…
And (b=y) And (c=x), "A4",If(a=x) And (b=y) And (c=y), "A3",If((a=y) And (b=x) And (c=y), "B1",If((a=y) And (b=y) And (c=x), "B3",If((a=y) And (b=y) And (c=y), "B2","Erreur"))))))
…
s, each made from two Nurbs curves, each with different surface properties.
Curves A1 and A2 have 2 control points:
startpoint and endpoint
Curves B1 and B2 on the other hand were drawn with 6 control points each.
What's more, those point's aren't equally distanced from one another.
The lofts inherit the position of control points of the profile curves.
The distribution of control points in the loft direction is uniform.
So no suprise here:
You can think of Nurbs curves as rubber bands and of Nurbs surfaces as rubber sheets. The areas with less control points would correspond to streched rubber.
Now lets imagine you take an A4 piece of rubber, lay in on a table and draw equally distanced lines on it. When you strech it ununiformally - the distances won't stay equal anymore.
Returning to your first post:
The Divide Surface component operates on u,v values which you can imagine as dimensions of the rubber sheet in relaxed state.
So the result you got was indeed an equaly divided surface, only in the so called "parameter space" of the surface, which doesn't always correspond to the xyz space.
There are methods to divide curves and surfaces in equal distances in the way you want it. For starters check out the Evaluate Lenght component.
I think that's enough teory for today. Have fun!
JJ…
is possible to import data of a single cell then turn that into a line.
1) Is it possible to select a single cell in Excel and Import it to Grasshopper through the File Path or Read File function?
2) Can the value of the cell, say A2 = 45, be turned into the dimension of a line instead of a component of a point, or as the length of a vector?
3) Last would be if it is possible, could use the cells, A2 = 45; A4 = 20; A6 = 53, as the length, width and height dimensions, using the Geometry tool?
…
), my script is triangulating slabs by drawing line in a crossreference way. This part was "easy"
What I want to do now is to link those slabs together
ie : if a slab is a surface AxBxCxDx
I want to link A1 to A2, B1 to B2, C1 to C2 etc.
I know it's a simple question of restructuring the tree in my Pshift component, so that I can use the line component with shortest list, and link each of those points.
Any ideas on how to fix that?
Thank you
Simon…
components are essential.
I would love to see GH in "pure" mode - no components which can be made simply with other components (such as - no a2 (square) and a3 (cubical) - only "a powered by n")
…
hreads where Thread I solves object A1 and Thread II solves object A2. As soon as A1 is completed, Thread I can move on to object B1 and as soon as A2 completes, Thread II can move on to object B3 (whichever comes first). When both A1 and A2 are complete, we can spawn a new thread (III) to take care of object B2.
If B2 completes before B3, then Thread III will terminate. If B3 completes before B2, then Thread II terminates. Whichever thread is last will pick up execution of object C3. And so on and so forth.
This sort of threading is actually not guaranteed to help much though, as it is likely that the bottleneck components in the network will still need to be handled by a single thread.
A more efficient solution would be to divvy up the execution per component to multiple threads. If you're trying to compute the Curve Closest Point for 10,000 points and your machine contains 4 cores, then we can assign 2,500 points to the first core, 2,500 points to the second core etc.
This approach will actually work when there's only a few bottleneck components and it also means the order in which components are solved is no longer important.
An even more fine-grained approach to threading would be to make the Curve Closest Point function in the Rhino SDK threaded. There's a lot of looping going on in any given Curve CP computation so the curve could be broken up into loose spans where each span is solved by a different core. Then the partial results get consolidated once all threads finish.
The benefit here is that it would be multi-core for everyone, not just Grasshopper components.
The bad news: Some functions in Rhino are not thread-safe. Meaning that data structures such as NurbsCurves cannot be modified from multiple threads at once as it will compromise their validity. You might well end up with invalid curves and quite possible weird crashes. In very bad cases it might even be that a specific function in our SDK can only be running once, so even if you were to duplicate the curve it would still not work.
Until our SDK is thread-safe there can be no global threading in Grasshopper. I don't know where we're headed with this, but I do know that we've started using some threaded algorithms in the display as of Rhino5, so it seems we're at least getting our feet wet.
--
David Rutten
david@mcneel.com
Seattle, WA…
Added by David Rutten at 5:47pm on November 17, 2010
rkup) as below:
float coeff_perez [] is from Perez's paper in solar energy vol. 50, No.3. pp235-245, 1993.
i would like to adjust A3, A4, A5, A6 and A7 using measurement irradiance data over a whole year for every minute or hour, and update these coefficients under the file perezlum.cal. It means i may need to re-compile gendaylit.exe, which i have no idea how to do it.
i found radiance has another version on gendaymtx.c v2.13. it includes static const double PerezCoeff[8][20]. I am wondering which version of gendaymtx does ladybug GenCumulativeSkyMtx use.
Thanks for your suggestions on honeybee plugin. I will take a look and see how.
Cheers,
Le
…
nts but as there are polylines and surfaces in it, they are conflicting as the geometries are overlapping and intersecting.
The input for the model is a centre point and four connecting points: we can call them CNT, A, B, C and D. The model works for these points - it's quite complicated with lots of polylines, vector geometry, surfaces, rotations, etc. - but it still works and has an output of two breps.
If I had a compilation of N sets of CNT, A, B, C and D's, is there a way of feeding each of these into the grasshopper in individual sets rather than just plugging in the huge set of numbers - e.g. feeding in CNT1, A1, B1, C1 and D1 and getting a result before moving on to CNT2, A2, B2, C2 and D2?
I've tried looking through tree structures, but it seems to be failing when the size of the set isn't known - e.g. how to extract all the information from trees when N isn't know using list item (i=0, i=1, i=2..., i=N).
I hope I've managed to explain the problem adequately, I can make up an easier to understand Grasshopper model later if I haven't explained well...
Thanks in advance for any comments, pointers, etc.…