n to finding a concave contour polyline (which is in general what you need). In your case each contour section contains a series of points of which you do not know the order and you need to sort them so that by connecting them you find the contour. This is fairly easy to do when the contour is convex (basically you find the average point then calculate the vectors from the average to the points and sort the vectors by angle - sorting the points by the same angle gives you the right order for the contour), but generally impossible to find uniquely when the contour is concave (PS: convex means that, for ANY 2 points inside the figure, a straight line connecting them doesn't intersect with the border curve - i.e. circles, ellipses, rectangles, triangles - concave shapes are a star, a crescent moon, an arrow, a boomerang, etc.).
The problem goes like this: given a generic list of points:
Each of these configurations for a perimeter equally fits the above:
Laurent already went for another possible solution, the stochastic approach (by subdividing the connecting lines), I slightly adjusted a few things over his solution:
namely, I added a rounding option to adjust for some weird tolerance issues (some points that should be at Y=80 were at Y=79.99998 or something) and a more straightforward solution to group them by section plane using sets logic. This, coupled with alpha shape, gives a quite good approach, still very coarse in terms of results but that depends on the sampling resolution of the field (i.e. number of height sections in which you calculate the metaballs) and sampling length of the connecting lines.
Definition attached.…
Diffraction , I left it, how it is.
For the unusual issues that comes in the image source component, so, is it something strange? But, I still have the same issues when I sets any integer component (single or multiple) in the “reflection order” of the image source component, in the “image source order” in the ray tracing component, and again, when I connect the output “Direct sound data” of Direct Sound component in the Energy Time Curve.
Do I wrong something with the integer component? I used it already in the first parts, for sets “grasshopper layers”, in the “Scene” component, but here it works. Should I start with a new file?
For the multi-object optimization, thank you for all suggestions. Yes, I red PHD thesis work of Tomas Mendez and the article “ EDT, C80 and G Driven Auditorium design” and still others. Thank you to all these articles, I decided where to focus my thesis.
I understand the potential of Multi-object optimization, and problems that I can finding without using it. Actually, in the beginning of my thesis, I tried to jet in contact with the Politecnico di Torino, but was not easy because I’m not a Politecnico student.
Here, in University of Florence (Building engineering), there isn’t a department or someone that is already familiar with these field of study, so, as you can image, for design my thesis, I can confide on online resources. So far, my Professor suggest me to begin with a Nonlinear Global optimization like Galapagos, and only after see the multi-object. In this way, step by step if something doesn’t work is easier to understand way and where something is going wrong: if are problems due to the setting of the programs, because we are not practical about these, or if there is a wrong in the simulations or in the algorithm and ect.
Do you think is a good way for go on?
Thank you very much,
Kind Regards
Giulia
…
che di modellazione algoritmica per la generazione di forme complesse. Il corso è rivolto a studenti e professionisti con esperienza minima nella modellazione 3D e si articolerà in lezioni teoriche, esercitazioni e sviluppo di un progetto finale.
tutor: Arturo Tedeschi - autore di "Progettazione Parametrica", il primo manuale italiano su Grasshopper
lecturer: Davide Del Giudice | Zaha Hadid Architects | Co-De -iT
guest: Maurizio Arturo Degni
assistant: Matteo Gobbi
info e programma:
http://www.comese.me.it
…
del diseño, el curso cubrirá los conceptos básicos para abordar proyectos de diseño a través del desarrollo de herramientas algorítmicas mediante un proceso de programación visual , utilizaremos el software Rhino 3d y el plugin Grasshopper como nuestras herramientas de trabajo.
Detalles:
Instructores: Rodrigo Medina | Daniel Camiro
Lugar: Plataforma de Arquitectura http://plataforma.com.mx/
Senda del Amanecer No. 151 Milenio III, Querétaro, Qro. México
Fechas: 29,30,31 de julio
Cupo: Limitado a 15 plazas
Costos:
Estudiantes:$2,800
Profesionales:$3,400
Fecha límite de pago: miércoles 27 de julio 2011
Importante:
Todos los niveles de experiencia son bienvenidos el único requisito es tener un entendimiento básico de los programas CAD y una actitud positiva hacia el aprendizaje de dichas herramientas.
*Los participantes deberán traer su propia laptop con todo el software y actualizaciones (originales o versiones de demostración oficiales)previamente instaladas.(se fijara una fecha unos días antes para revisar que todos los equipos estén en orden y listos para trabajar).Si planeas venir de fuera de la ciudad avisanos y te pondremos en contacto con otras personas que también vayan a hacerlo para en caso de desearlo puedan compartir su lugar de estancia.
Contacto
info@chidostudio.com
jesus mendez 4421869813
camiro 4422472424…
, 2013)
The most popular year was 2008 (5 responses)
Note: According to Wikipedia: "The first version of Grasshopper, called Explicit History at the time, was originally publicly released in September 2007." Interesting coincidence.
The response to question #2 by those that began before 2007 (How long did it take for you to feel comfortable with designing computationally?):
- Years
- Don't remember, but it felt like a natural way to relate to cad.
- After a few projects
- A month.
Compared to some of the responses of those that began since 2007:
- A month
- A few months
- After 6 weeks
- About 8 weeks
- Within my second design project with GH
- five to six months
- after 1 years of self learning + over 2 years of multiple projects and continuous self learning = Computation skill is comfortable but Computational Design can not be comfortable, Crazy learning curve.
There is much diversity, but some patterns begin to emerge.
Looking forward to more responses!…
be fast and accurate. They will however have to be written for every new problem which is not exactly the same as an old problem. Hence, as an end-user you may have to write one yourself. Generic solvers on the other hand can tackle a wide variety of problems and the end-user merely has to set up the goals and constraints. However, this flexibility comes at a price, usually speed.
There's literally thousands upon thousands of academic papers about specific algorithms out there, covering anything from networking to databases to geometry to natural language to visualisation to whatever. The list of generic solvers however is much smaller. The most famous ones being Divide-and-Conquer (fast for low dimensional cases, doesn't scale well to high dimensionality), Uphill Search (good for quickly finding local maxima, strong dependence on starting point), Evolutionary **** (works well in high dimensions, slow but flexible), Annealing (works well in high dimensions, good for exploring the entire problem space, good for finding quick approximate solutions), Machine Learning (very big category, lots of strengths and weaknesses).
You may also want to look into physical simulators, which can be very effective solvers if the problem can be formulated in terms of forces acting on vertices. Kangaroo specifically was designed with architecture in mind.
If you want to know about algorithms specific to geometry, a good read is; 'Discrete and Computational Geometry' by Satyan L. Devadoss and Joseph O'Rourke, Princeton University Press (2011), ISBN 978-0-691-14553-2
A detailed (and in my opinion not very readable) account of evolutionary algorithms can be found in; 'Evolutionary Algorithms in Theory and Practice' by Thomas Bäck, Oxford University Press (1996), ISBN 0-19-509971-0
Decent introduction to algorithmics; 'Algorithm Design' by Jon Kleinberg and Éva Tardos, Pearson Education (2006), ISBN 0-321-37291-3
and; 'Introduction to Algorithms (second edition)' by Thomas Cormen, Charles Leiserson, Ronald Rivest and Clifford Stein, MIT Press (2001), ISBN 0-262-03293-7…
unning Rhino 5 WIP released 18-01-2011 and grasshopper 0.8.0004 released december 10th 2011.
This is (part of) the script I'm running:
If Activate = True Then Dim i As Integer Dim iCount As Integer iCount = SrfId.Count Dim y As Integer Dim yCount As Integer Dim mObjects As Guid Dim ylist As New list (Of Integer) For i = 0 To iCount - 1 doc.Objects.UnselectAll yCount = SrfLines.Branch(i).Count For y = 0 To yCount - 1 mObjects = doc.Objects.AddCurve(SrfLines(SrfId(i), y)) doc.Objects.Select(mObjects) Next RhinoApp.RunScript("_-export " & FilePath(i) & " _Enter", True) RhinoApp.RunScript("_-delete", True) Next End If
The error I get is this:
'select' is not a member of 'rhino.docobjects.tables.objecttable'
The silly thing is that I didn't get the error on a different computer (which probably has some different versions installed...), but that I also cannot find any other way to select and export the geometry I create...
Does anybody have a good idea how to solve this problem?
Thank you very much!
Pieter Schreurs
…
ails.
Some word about the mesh... (see Image_01)
I took a flat 4 points NURBS surface as imput (very easy, it defines the total area of my pavilion) and some points (that defines the contact with the ground).
Then I extracted a grid of points from the NURBS (Surface_Util_Divide surface) and compared 'em with the contol points, in order to associate to each grid's point its own attractor (Vector_Point_Closest Point).
Than I moved the points down. I used the distance from each point to its attractor (inverted) as amplitude for the vector of the movement, in order to say: the nearer you are to the control point, the more intense your movement will be. During this operation I've passed the distances' data list into a graph mapper (Params_Special_Graph Mapper), in order to regulate in a very intuitive and interactive way the shaping of my canopy.
At the end of the process I asked GH for a simple Delaunay mesh (Mesh_Triangulation_Delaunay Mesh). It's a very cool command, I believe!!!
Ok, now some word about the component, it's design and it's repetition/adaptation to the mesh...
(see Image_02)
I took the mesh and extracted components on first and faces's information on second. Then I selected and separated the vertexes (1°, 2°, 3°) of each triangular face into threee well defined list.
Then I re-created the triangles' edges. Please pay attention because it's not the same if you use output information from Delaunay components, because here we need a justapposition of edges where triangles touches each others.
After this work I joined the edges and found their centroid. At the same time I found the mid point of each edge.
Now the component... (see Image_03)
It' a little bit longer to describe: I'll try to be synthetic.
Substantially it is a loft from a curve to a point, repeated three times for each triangle (Surface_Freeform_Extrude Point). The point is an elevation of the centroid of the triangle (you can choose if the exstrusion has a single height or it's related to an attractor. In my case it was fixed). The curve is combination of things. There's an arch, which starts on the edge (there's an offset from the corner) end terminates on the same edge (on the other side, obviously). While it's generation the arch passes through a third point which belong to another segment. This last connects the mid point of the original edge (base triangle) with the centroid. The result is a kind of polyline, with two segments and an arch. If you go back to the image of the component that I posted probably you'll understand what I'm saying better than with the definition.
The posit…