2. It will be wrong if lines go through inside of the circles and obstacles.
You can replace circles and obstacles with points and lines.
3. Take the Distances into consideration.
And finally...
…
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…
pavilion) and from that i want to fabricate it using some paper or card bored .
for modeling the pavilion i used a simple kangaroo based algorithm to generate the desired form using mesh 3d plane faces . there was no problem with this part and i was able to get the mesh from geometry out put . then i wanted to use that output mesh to panelize it and then adding tabs and the nesting and cutting to get the parts. but the problem was every tutorial i looked up were using surfaces to panelize and nest so this was the first problem to convert the mesh into a surface and then panelazing and nesting . i tried using the mesh2nurbs but it didn't work out for me . (because i needed a single surface not some poly surfaces) . (attachment | input mesh )
so i started from the beginning and tried using a surface as an input for kangaroo and thus getting a surface as an output so i did that and tried to create a surface by the Surface from points component . and the result was not good the surface was kinda messed up and the the reason was the points were not ordered well i guess . so this was another problem for me . (attachment | input surface)(picture below)
so basically i have a few main questions :
1. is there a tutorial or any topic or book or somthing that explains from 0 to 100 from design to fabrication (as an example a pavilion) ?
2. can i use the mesh to panelize and nest and then fabricate ? and are there any tips or tricks to it ?
3. is the starting from surface for me a good idea or not ?
i am extremely sorry for talking this much and i'm grateful for the time you spent on reading this .
best wishes ; Babak.
…
r window, and operate your script with a simple user interface.
The latest release of Prairie Dog for Grasshopper adds 3 great new features. First, the interface has been greatly simplified and now mimics the Grasshopper interface. Second, four sliders types are available: Floating Point, Integer, Even, and Odd numbers. Finally, Always on Top will keep your panel from getting hidden by other windows.
Learn more about it here: ryangathmann.com/prairiedog/Or download the latest version Food4Rhino: food4rhino.com/project/prairie-dog
If you have any questions or feedback I would love to hear it.
Enjoy!
…
ración de 150 horas divididas en cuatro módulos, arrancando el 22 de Marzo del 2011 y terminando la segunda semana de Junio con sesiones los Martes y Jueves de 18:00 a 22:00hrs y algunos Sábados de 10:00 a 14:00hrs.
El tema central del diplomado es el uso integral de la herramienta digital en el proceso de diseño a partir de la base teórica del fenómeno de la emergencia (entendida como la obtención de resultados complejos a partir de la interacción de elementos simples con reglas de bajo nivel de sofisticación).
El desarrollo del programa se concentra en la aplicación práctica de las reflexiones teóricas generadas mediante el uso de herramientas digitales generativas, principalmente Grasshopper (plug-in de modelado parametrico para Rhinoceros).
Contaremos con la presencia de dos colaboradores internacionales: EL primero será un miembro de LaN (Live Architecture Network) que impartirá un curso sobre programación avanzada en Grasshopper enfocandolo a la realización de un objeto construido, haciendo énfasis en la transición entre lo virtual, lo análogo y lo físico. El segundo es Jalal el Ali, maestro en arquitectura por la Architectural Association, líder de la Unidad de Geometría Generativa de Buro Happold y actual líder de proyecto en Zaha Hadid Architects, quien dará un curso intensivo enfocado al uso de la herramienta digital y la producción digital, enseñando procesos que ha aplicado en la empresa donde trabaja. Jalal pronunciará también una conferencia magistral.
Es un programa promueve el uso de nuevas tecnologías y la integración de procesos de producción desde la concepción del diseño, aplicando los conocimientos teóricos en un objeto físico usando el laboratorio de fabricación de la Universidad Iberoamericana.
…
ind that a ?^@&@% door for your next 7 series (avoid that car at any cost) is rated about 10M (the so called development cost) whilst the whole car may require 500++ M. Did you know that the software used in a 7 series exceeds 70M lines of code? Therefor ... blah, blah.
Back to real-life things:
One "suitable" solution for flattish stuff the likes that you've captured is:
1. Make a BoundingBox and make a Point3d grid using, say, the bottom 4 corners (a single dimension tree)..
2. Declare a nullable Point3d grid [ DataTree<Point3d?> hitsTree = new DataTree <Point3d?>();].
3. Shoot a Ray3d from each point using some Vector3d (for instance using p4 - p0 out of the box points). If the Ray hits a brepface get the point if not put a null. That way you have a tree of equal List sizes and "combining" things (Points) for your patterns is greatly simplified [you can use the crude try{} catch{} approach].
4. If all these sound a bit freaky to you ... post a flattish test case (with different U/V) and give some hints about what "pattern" means to you.
best…
that, I have a few more comments on what you are trying to do:
1. It is not possible to divide the surface of a sphere with regular hexagons [the most efficient way includes pentagons as well (classic soccer ball)].
So I believe that in the image you posted there is some serious twisting taking place at the back side (you can actually see this starting on the right side of the picture).
Lunchbox's [hexagon cells] component divides the surface in U and V (orange slices for a sphere) and draws hexagons on it. The result is some serious deformation on the 2 poles and many non-planar cells. If you are ok with this, then my only tip would be to use an even number for the U divisions in order to have a clean seam:
instead of:
2. The hexagons you have defined in 2d are wrong as they are overlapping and also leaving gaps between them:
You should define your hexagons so that they form a honeycomb pattern. It could be something like this:
3. There is no direct way for hexagonal mapping, so your best bet would be to draw your pattern inside each cell (good GH data structure understanding is crucial for this). Also, the non-planar cells will probably give you a hard time there...
Hope I cleared some things and didn't cause more confusion!
Nikos
…
use Google's API, especially if you'd like to achieve a great quantity of data without overloading Google's servers.
I used a way to request data without overloading Google's servers by using a tiling method. Obviously, this component respects the limit of 2500 requests per day.
This is how the component works:
1) set one point and its coordinates
2) generate surfaces by using isotrim component (Basically, each sub-surface is a request)
3) set the number of division of each surface and the resolution of Google static maps
4) run, move points and generate surfaces with surface from points
5) apply textures to the surfaces
In the image below another small example:
I was thinking that this should be useful for wind simulation with Butterfly, maybe.
Best
Antonello…