or a couple of thingies.
Pattern.gh
I defined parametrically a triangle which I then smoothed out to become more like a blob shape. After that I created a pretty simple pattern that I had in my mind (costed me a lot of time to make this in GH) and finally wanted to rotate each element as it goes higher . The dispatching part seems to be working pretty slow, so it might need an optimization, but I’m still happy with the result as it shows exactly what I wanted, so this is a minor issue in my case.
I then decided to try tessellating my extrusions. You’ll see the voronoi script which is a blob-group in the same Pattern.gh:
I had an idea of something and started the code from scratch, then decided to watch tutorials and implement the code shown there. I somehow coped to combine my code with this in the tutorials, but since my knowledge of Grasshopper is zero to basic my code seems to be very unoptimized and lagging.. When dragging the sliders, it takes a lot of time to compute the changes, although, I’m working on a 24gigs 6th gen i7 machine. It might also need optimization.
Here comes the first tricky part that I couldn’t sort out in an elegant way neither in Grasshopper nor in Rhino. I want a smooth transition between the wall and the ceiling, so that the voronoi tessellation doesn’t get interrupted. If I was to do it in Rhino I’d make a curve with a filleted edge which I’d then revolve/sweep along a rail.
Pattern.gh:
Second thing is – I’ve defined a shape which I want to rotate at a certain degree as it goes higher, however, I don’t have the knowledge to make this happen automatically and just copy the script over and over again. Is there a chance to somehow “loop” the code and parametrically define the degree of rotation and amount of units in the loop?
Next thing is I want to somehow be able to rotate each “6-storey-building” dependently on its surrounding buildings, so that their “terraces” never overlap. I’m using quotes, since they’re still some silly shapes that have nothing to do with buildings and terraces. The principle has to be something like gear wheels or the so-called rack wheels . There has to be some pace which I could set parametrically, but I’m still unsure how to do that in Grasshopper.
The pre-last thing is that I want to control the height of each “building” based on let’s say a topography. I presume this could be done somehow with height maps or some gradient mapper connected to curvature analysis. Not really sure how something like this would work, but I’ve seen such codes that control height depending on a variable.
The last one is more or less similar to the previous. I want to be able to “dissolve” the pattern that I initially created and make it irregular. I suppose this could be done with attractor curve, but again this is just a guess. Please note that this is a top view and the shapes on the upper-left corner have got more "wings" which means there is more floors in the according building. Let's say the buildings in the upper-left corner are 6-7 floors high, in the middle are 4-5 and to the right they're only 3 floors high.
Sorry for that many questions in a single thread. Please let me know if I have to split them in separate threads. All this information is needed for learning purposes. I’m now preparing myself for my bachelor thesis and try as much things as I could, so that I’ll be ready for the final stage of my bachelor’s degree.
Many thanks in advance! Cheers!…
ist, as each particle has additional, unique properties which need to be updated after the kangaroo solver.
I use a merge component before feeding it into the solver and it works fine up to a point. When I add data stream 6 (an additional attraction force, see image) the order gets completely messed up (the two points on the second image have the same index, and they should be at the same location). The same happens if I replace the attraction force with a spring force.
*EDIT*
It has nothing to do with the order. it seems its that particular set of connections that messes up the order...
i have no idea why it only works up to the fifth force input and I can't think of a good way of accessing particle properties from the kangaroo solver short of building my own physics engine (which I want to avoid).
If anyone has any idea how to solve this (or even just why its happening), input would be greatly appreciated! thx, T…
ge curves. The source code is available as usual on GitHub, https://github.com/mcneeleurope/ShortestWalk.
Here some examples of walks on predefined and custom grids.
With equilateral grids (1, 2, 3), the shortest walk on the network is the same both counting the edge length and the number of links. With these types of grids, there are often several solutions, one of which is selected by the ShortestWalk component. If the automatic search is used (no lengths are specified), then the A* algorithm is used and this will result in a path that departs "not much" (there are more rigorous definitions) from the straight path.
With the square grid (2), the geometry is called taxicab or Manhattan, and results in the total distance being the sum between the number of vertical steps and the number of horizontal steps.
The circular grid (4, 6) shows a case in which curve distance and "link distance" (number of edges that are walked, uses Dijkstra's algorithm) results is completely different paths. This example here selects the tangential road (4) or the "city center" (6).
Finally, Voronoi diagrams (5), Delauney triangulations (7) and random mazes or labyrinths (8) can be walked, searched and solved quickly, if a solution is possible, now even if there are multiple overlapping curves.
These examples show two-dimensional grids, but it is possible to also compute (weighted) walks on three-dimensional networks.
The compiled Grasshopper assembly (.gha) and the examples can be downloaded from Food4Rhino. Join the group if you want to get updates for new releases.
- Giulio________________
giulio@mcneel.comMcNeel Europe, Barcelona…
anually update the definition for the changes to have an effect. Also, it's not very user friendly to change data using commands (you can add them to the toolbar).
I recently did a definition that required custom attribute data per object. Since objects could vary in number it was easier to have the data attached to the object rather than in a spreadsheet. I only needed 3 or 4 values per object, so i just added them to the name of the object in the form of "a;3;500". I have the object properties window open all the time so this way it's easy to quickly change the values.
It would be great if rhino's GUI allowed to add and change custom attribute data easily. Cinema 4D does this very well. I think David was working on a plugin that did this but i doubt it's still in development.…
Added by Vicente Soler at 4:10pm on October 12, 2009
orithm is very smart and elegant, many solution (like the "modulus" comand to adjust numbers bigger than 1 i suppose) will be very usefull for my next Grasshopper challenges...
Anyway i tried it and i think it's all very clear thanks also to your explanations, the only thing i didn't get is why you test the majority of the parameters of the curve with "0.5" and then you dispatch them...
What do you want to achieve in that way?
Anyway the rest it's, in my opinion, well understood and very helpfull too!
Thanks again and again!!!
Kind regards,
Stefano///…
re are two new lines inside the code that let you deal this issue. However, the results for that type of geometry will be something like this:
I think the issue is because of some curves in crvList.. and to solve it you have to play around the start number as Michael told you.
Anyway, If you want, you can try the attached file where there is a method which should be fine for both geometries in your file: with holes or not.
The principle is to set the first number of the series component to half of height of floor (e.g. floor = 3 meters => start = 1.5 meters) and you can create a piece of workflow to do this operation automatically.
Best
Antonello…
hing not acceptable. To build up the final results I tried to summarize some steps and script them but I got stuck.
1) Voronoi subdivision
2) Voronoi vertices connected to the center
3) Tween curves between center and boundary
4) Control of U and V parameters
Point 4 is really important because it will allow me to control the strength of the springs in the two directions in kangaroo. Voronoi curve is going to be an anchor and the point is going to pull the mesh.
…
mmed triangular NURBS surface. However, please notice that the parametrization will be small in the area of the two coincident vertices.
I'm attaching a very simple example (Gh 0.6.0059)
I hope this is helpful,
- Giulio
________________
giulio@mcneel.com
McNeel Europe, Barcelona…
standard preview color for selection is green).
3. Right-click component which contains data you don't want to see and select "Preview" option.
4. Now you should see only transformed geometry.…
ction) and apply symmetry at some point. The question is when. I would like to operate a "loft with rails", or a "sweep3". It is really important for me to stay perfectly close to the rails (outlines apex), avoiding having a polysurface or more control points. I need advises and help about the logic and order of construction. How should I tackle the problem ? I can't merge a simple symmetry into a single surface. Is it a question of degree (curves or surface) ? Thank you very much. Best Laurent
…