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
…
it seems that was this. Now all is working fine !
Glad that it worked! But I am still a bit worried. Gismo components only modify the gdal-data/osmconf.ini file and no other MapWinGIS file. So your MapWinGIS installation files should not be compromised. The fact that you did not get the "COM CLSID" error message when running the "Gismo Gismo" component suggests that MapWinGIS has been properly installed. So I wonder if the cause for the permanent "invalid shapes" warning has again something with the fact that your system is again not allowing the MapWinGIS to properly edit the osmconf.ini. Maybe this problem will appear again, and again, and reinstallation of MapWinGIS every time can be somewhat bothersome.
- About the terrain generation, is it possible to have the texture from google or other provider mapped onto the terrain surface from gismo component ? (Same as using the ladybug terrain generator in fact). I try to used the image extracted by ladybug component and then applied it to the gismo terrain but the texture is rotated by 90°.
The issue with the rotation can be solved by swapping/reversing the U,V directions of the terrain surface. A slightly more important issue is that terrain surface generated with Gismo "Terrain Generator" component might have a bit smaller radius than what the radius_ input required. This stems from the fact that the terrain data first needs to be downloaded in geographic coordinate system, and then projected. Some projecting issues may occur at the very edges of the projected terrain, so I had to slightly cut out the very edges of the terrain which results in the actual terrain diameters being slightly shorted in both directions. This means that if you apply the same satellite image from Ladybug "Terrain Generator" component to Gismo "Terrain Generator" component the results may not be the same.I attached below a python component which tries to solve this issue by extending the edges of Gismo "Terrain Generator" terrain, and then cutting them with the cuboid of the exact dimensions as the radius_ input. Have in mind that this extension of the original terrain at its edges is not a correct representation of the actual terrain in that location. But rather just an extension of the isoparameteric curve of the terrain surface. So basically: some 0 to 10% (0 to 10 percent of the width and length) of the terrain around all four edges is not the actual terrain for that location, but rather just its extension.The python component is located at the very right of the definition attached below.
Also, if you would like to use the satellite images from Ladybug "Terrain Generator" component along with "OSM shapes", sometimes you may find slight differences in position of the shapes. This is due to openstreetmap data not being based on Google Maps (that's what Ladybug "Terrain Generator" component is using), but rather on Bing, MapQuest and a few others.
- About the requiredKeys_ input of OSM shapes, I understand what you mean and your advice, but in most cases I use it, the component was working fine even without input. I think it's better to extract all tags, values and keys of the selected area, instead of searching for specific ones as I try to find all data related to what I want after, isn't it ? To check what keys are present on the area also.
Ineed, you are correct.I though you were trying to only create a terrain, 3d buildings and maybe find some school or similar 3d building, for these two locations. The recommendation I mentioned previously is due to shapefiles having a limit (2044) to how many keys it can contain. This requires further testing of some big cities locations with maybe larger radii, which I haven't performed due to my poor PC configuration. But in theory, I imagine that it may happen that a downloaded .osm file may have more than 2044 keys. In that case shapefile will only record 2044 of them, and disregard the others. That was my point.But again 2044 is a lot of keys, and I haven't been checking much this in practice. For example, when I set the radius_ to 1000 meters, and use your "3 Rue de Bretonvilliers Paris" location I get around 350 something keys, which is way below the 2044.Another reason why one should use the requiredKeys_ input is to make the Gismo OSM components run quicker: for example, the upper mentioned 350 something keys will result in 350 values for each branch of the "OSM shapes" component's "values" output.Which means if you have 10 000 shapes, the "OSM shapes" component will have 10 000 branches with 350 items on each branch (values). This can make all Gismo OSM components very heavy, and significantly elongate the calculation process.With requiredKeys_ input you may end up with only a couple of tens of items per each branch.Sorry for the long reply.…
Added by djordje to Gismo at 8:57am on June 11, 2017
It was originally developed at NBBJ by the Design Computation Leadership Team over the course of about 10 months in 2015-2016.
Primary development by:
Andrew Heumann / andheum / @andrewheumann
Lead Developer
Marc Syp / marcsyp / @mpsyp
Product Manager
Nate Holland / nateholland / @_NateHolland
Contributing Developer
----
Gone are the days of faking a user interface by laying out sliders and text panels and hiding wires on the Grasshopper canvas. Human UI interfaces are entirely separate from the Grasshopper canvas and leverage the power of Windows Presentation Foundation (WPF), a graphical subsystem for rendering user interfaces in the Windows environment.
OLD NEW
In other words: Human UI makes your GH definition feel like a Windows app. Create tabbed views, dynamic sliders, pulldown menus, checkboxes, and even 3D viewports and web browsers that look great and make sense to anyone--including designers and clients with no understanding of Grasshopper.
Download the plugin + sample files:
Food4Rhino
View the project on Bitbucket:
Bitbucket
We look forward to seeing where this project takes you, please share your projects made with Human UI!…
lla progettazione parametrica e le tecniche di modellazione algoritmica per la generazione di forme complesse
___________________________________________________________________________________
luogo:
Sala meeting Holiday Inn Inn Turin C.so Francia Piazza Massaua 21 – TORINO
Scadenza iscrizioni: 25 Novembre 2011 – ore 15.00
___________________________________________________________________________________
info e prenotazioni:
Le Penseur (coordinamento formazione)
info@lepenseur.it
081 564 21 84
347 548 71 78
quote di partecipazione e programma (formato PDF)
ulteriori informazioni sui corsi PLUG > IT
___________________________________________________________________________________
PROGRAMMA DEL CORSO:
GIORNO_01 | 01 Dicembre 2011
10.00 – 10.30: presentazione workshop
10.30 – 11.30: introduzione alla progettazione parametrica: teoria, esempi, casi studio
11.30 – 13.00: Grasshopper: concetti base, logica algoritmica, interfaccia grafica
13.00 – 14.00: break
14.00 – 16.00: nozioni fondamentali: componenti, connessioni, data flow
16.00 – 18.00: esercitazione
GIORNO_02 | 02 Dicembre 2011
10.00 – 12.00: funzioni matematiche e logiche, serie, gestione dei dati
12.00 – 13.00: analisi e definizione di curve e superfici
13.00 – 14.00: break
14.00 – 16.00: analisi e definizione di curve e superfici
16.00 – 18.00: definizione di griglie e pattern
GIORNO_03 | 03 Dicembre 2011
10.00 – 12.00: trasformazioni geometriche, paneling
12.00 – 13.00: image sampler
13.00 – 14.00: break
14.00 – 18.00: data tree: gestione di dati complessi
GIORNO_04 | 04 Dicembre 2011
10.00 – 12.00: digital fabrication: teoria ed esempi
12.00 – 13.00: nesting: scomposizione di oggetti tridimensionali in sezioni e posizionamento su piani di taglio per macchine a controllo numerico CNC
13.00 – 14.00: break
14.00 – 18.00: esercitazione…
t. So here we go!
1. Honeybee is brown and not yellow [stupid!]...
As you probably remember Honeybee logo was initially yellow because of my ignorance about Honeybees. With the help of our Honeybee expert, Michalina, now the color is corrected. I promised her to update everyone about this. Below are photos of her working on the honeybee logo and the results of her study.
If you think I'm exaggerating by calling her a honeybee expert you better watch this video:
Thank you Michalina for the great work! :). I corrected the colors. No yellow anymore. The only yellow arrows represent sun rays and not the honeybee!
2. Yellow or brown, W[here]TH Honeybee is?
I know. It has been a long time after I posted the initial video and it is not fun at all to wait for a long time. Here is the good news. If you are following the Facebook page you probably now that the Daylighting components are almost ready.
Couple of friends from Grasshopper community and RADIANCE community has been helping me with testing/debugging the components. I still think/hope to release the daylighting components at some point in January before Ladybug gets one year old.
There have been multiple changes. I finally feel that the current version of Honeybee is simple enough for non-expert users to start running initial studies and flexible enough for advanced users to run advanced studies. I will post a video soon and walk you through different components.
I think I still need more time to modify the energy simulation components so they are not going to be part of the next release. Unfortunately, there are so many ways to set up and run a wrong energy simulation and I really don’t want to add one new GIGO app to the world of simulation. We already have enough of that. Moreover I’m still not quite happy with the workflow. Please bear with me for few more months and then we can all celebrate!
I recently tested the idea of connecting Grasshopper to OpenStudio by using OpenStudio API successfully. If nothing else, I really want to release the EnergyPlus components so I can concentrate on Grasshopper > OpenStudio development which I personally think is the best approach.
3. What about wind analysis?
I have been asked multiple times that if Ladybug will have a component for wind study. The short answer is YES! I have been working with EFRI-PULSE project during the last year to develop a free and open source web-based CFD simulation platform for outdoor analysis.
We had a very good progress so far and our rockstar Stefan recently presented the results of the work at the American Physical Society’s 66th annual DFD meeting and the results looks pretty convincing in comparison to measured data. Here is an image from the presentation. All the credits go to Stefan Gracik and EFRI-PULSE project.
The project will go live at some point next year and after that I will release the Butterfly which will let you prepare the model for the CFD simulation and send it to EFRI-PULSE project. I haven’t tried to run the simulations locally yet but I’m considering that as a further development. Here is how the component and the logo looks like right now.
4. Teaching resources
It has been almost 11 months from the first public release of Ladybug. I know that I didn't do a good job in providing enough tutorials/teaching materials and I know that I won’t be able to put something comprehensive together soon.
Fortunately, ladybug has been flying in multiple schools during the last year. Several design, engineering and consultant firms are using it and it has been thought in several workshops. As I checked with multiple of you, almost everyone told me that they will be happy to share their teaching materials; hence I started the teaching resources page. Please share your materials on the page. They can be in any format and any language. Thanks in advance!
I hope you enjoyed/are enjoying/will enjoy the longest night of the year. Happy Yalda!
Cheers,
-Mostapha
…
nter the programming world and tinker more complex, interactive solutions. We will also explore advanced programming paradigms. There is no class official programming language, as both C# and Vb.Net are possible on the participant’s side, and all examples will be provided in both C# and Vb.Net. Additionally, we will see how to get started writing full .Net plug-ins. Finally, we will have time to explore user’s own proposals on the third day.
Day 1 Morning: programming introduction in .Net
• The Grasshopper scripting components. Choosing a .Net language. Language developments
• Variables declaration, assignment and utilization. Operators. Methods [functions]. Calls
• Classes: declaration and instancing. Constructors. Importing a namespace. On3dPoints, OnLines
• Arrays declaration and usage. Lists. Adding to arrays and lists, advantages and opportunities.
Afternoon: patterns
• About OOP (object oriented programming) as opposed to procedural programming. Discussion
• Example of OOP good code reuse: sorting points by coordinates using the .Net SDK classes
• Lists as input parameters. Trees as input parameters. Usage and limitations
• Finding resources: on the net with website that can help getting started and troubleshoot. And books
Day 2 Morning: extending Grasshopper functionality with our definitions
• Store data between updates. The use of fields [globals, or static locals]
• Examples on how to use stored data between updates: a simple agents simulation
• Baking geometry with scripting directly into the Rhino document. Baking with names
• Passing custom types from a scripted component to another one. Our own code reusability
• Rendering an animation from Grasshopper. How to get started and final results
Afternoon: customizing our tools
• Our Rhino plug-in with Visual Studio C# [Vb.Net] Express Edition & wizard. Parametric mesher
• Writing a custom Grasshopper component: hacking an exporter for our data to Excel
Day 3 All day: personal project
• Rehearsal on any example from the first two days. A project that you want to start on your own, being it a Rhinoceros plug-in, a Grasshopper assembly or a script. Example might be to send data through network with UDP to Processing
MINIMUM REQUIREMENTS
A good foundation of Grasshopper visual programming is mandatory. You will need a level which corresponds to the Grasshopper 101 course outline. Examples of things that will not be covered in this course are: sorting document spheres by diameter, paneling of a surface with grasshopper components. You are expected to already know these from the Grasshopper course.…
hopper no requiere de conocimientos de programación o scripting para permitir al diseñador trabajar de forma generativa y paramétrica. No son necesarios conocimientos previos de Grasshopper pero sí de Rhino a nivel básico.
Controlmad es Centro Formador Autorizado Rhinoceros y Rhino fab Studio.
Nuestros profesores son Instructores Autorizados Rhinoceros con experiencia universitaria, nacional e internacional.
El curso y los ejercicios a desarrollar están enfocados a diseñadores, arquitectos, ingenieros y estudiantes.
En este curso introductorio el alumno se familiarizará con términos básicos de la estructura de Grasshopper, como “listas de datos”, “dominios”, “estructuras en árbol”, etc.
Es un curso de 18 horas, con el que se pretende entrar en la lógica de trabajo de Grasshopper mediante diversos ejercicios, de forma que el alumno sea capaz posteriormente de desarrollar sus propias gramáticas, con la confianza que da comprender los términos básicos de programación sobre los que se apoya todo el sistema de trabajo de Grasshopper.Para este curso no son necesarios conocimientos previos de Grasshopper, pero sí de Rhino (a nivel básico).
También se vincula el programa con la impresión 3D aprendiendo a exportar archivos desde Grasshopper con los requisitos mínimos de impresión 3D. Se realizará una demo de impresión en el aula.
El primer día del curso se le facilita al alumno un manual-tutorial con los ejercicios a realizar, en PDF.
A la finalización del curso, y siempre que el alumno haya asistido al 80% de las clases, se le otorgará un diploma oficial acreditativo del curso.
Fechas: 5, 6, 12 y 13 de marzo
Horario: sábado y domingo 16 - 20,30h (Madrid, CET)
Lugar: Sesiones On-line en directo a través de nuestra plataforma online.controlmad.com
…
Introduzione a Grasshopper", il primo manuale su Grasshopper.
.
I corsi PLUG IT nascono dalla volontà di promuovere le nuove tecnologie digitali di supporto alla progettazione e condividere il know-how maturato attraverso ricerca, collaborazione con i più importanti studi di architettura e pubblicazioni internazionali.
.
Verranno introdotte le nozioni base di Grasshopper approfondendo le metodologie della progettazione parametrica e le tecniche 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 ed esercitazioni.
. Argomenti trattati:
- Introduzione alla progettazione parametrica: teoria, esempi, casi studio - Grasshopper: concetti base, logica algoritmica, interfaccia grafica - Nozioni fondamentali: componenti, connessioni, data flow
- Funzioni matematiche e logiche, serie, gestione dei dati - Analisi e definizione di curve e superfici
- Definizione di griglie e pattern complessi - Trasformazioni geometriche, paneling - Attrattori, image sampler
- Data tree: gestione di dati complessi - Digital fabrication: teoria ed esempi - Nesting: scomposizione di oggetti tridimensionali in sezioni piane per macchine CNC
.
Verrà rilasciato un attestato finale.
.
Ulteriori info e programma completo su: www.arturotedeschi.com e su www.samilolab.it…