laxation have been around much longer than any of the tools you mention, or indeed Rhino itself. A particularly well known one is Ken Brakke's Surface Evolver from over 20 years ago. Of the examples listed, some of them were inspirations when starting Kangaroo in 2009, and I've always tried to acknowledge those. (of course, surface relaxation is only one part of what Kangaroo is about)
I also was helped by conversations with many people, including Moritz as you mention, and especially yourself with the coding. Indeed the .Net class you ran back then for McNeel, as well as the other correspondence in your own time was really useful in getting started - thanks again!
As for mesh relaxation not being 'not so difficult', well - for sure there are many implementations of these things out there. Similarly there are dozens of examples of subdivision implementations (Andrew Heumann even showed you don't need to code anything, but can do it with standard grasshopper components), but let's not start being too dismissive of each other's work, hey ? Of course there's a lot more to making a flexible and useful tool than individual algorithms - making them part of a larger framework or system of tools makes a big difference.
Being the first to implement a particular existing algorithm on a particular platform maybe isn't as big a deal as inventing a new algorithm or technique. When other implementations of the same technique come along, we should just assess them on their merits. If the new tool owes something to previous contributions, then that needs to be acknowledged, and then if it improves in some way on what is already available then great. Even if it doesn't then it may still be useful as an exercise for the author or as an example of a different approach - though of course too much duplication of effort tackling already solved problems is a waste, and if there is no significant new contribution then it doesn't deserve to replace what is there.
If a new tool comes along that improves in some way on what we've done already (such as some of the topology tools available in Starling compared to what is in WeaverBird, or the material properties in Karamba compared to Kangaroo), then let's just learn from that and let it spur us on to greater things and improve even further!
So I'll look forward to using this and future versions of WeaverBird in conjunction with Kangaroo, as I think their feature sets complement each other very nicely.…
nome there will be one of those little [+] symbols. Also, when it finds a new best-answer-yet the I'm-giving-up counter is reset to zero.
B is the average fitness of the entire population over time. It is not a particularly interesting statistic.
C represents the portion of the population that is fitter than a single standard deviation away from the average, and E represents the portion that is unfitter than one standard deviation. In a similar fashion, D represents that part of the population that is within one standard deviation of the average. None of these are particularly interesting from the user's point of view, but it does give you a sense about the general fitness variability within a population. I.e. "all genomes are quite fit but there are one or two slackers" vs. "all genomes are absolutely terrible save for a rare few" vs. "genomes are pretty well distributed along the fitness spectrum"
The vertical blue bar indicates that you currently have generation 17 selected. A 'population' of genomes evolves over time and every time-step is called a 'generation'. If all goes well, the fittest individuals in any specific generation are fitter than the fittest individuals from the previous generation. If this doesn't happen -say- 20 generations in a row, the solver will abort the search.
A single generation contains a fixed number of genomes or individuals. When you select a generation, those individuals will be displayed in the bottom three graphs. On the left you see a 'similarity representation' of this generation. The closer two dots are the more similar their genetic make-up. Black dots represent genomes with offspring, red crosses represent genomes that did not contribute to the next generation.
In the middle you see a multi-dimensional-point-graph. Each slider that is being manipulated by Galapagos is represented by a vertical line. Each genome is then drawn as a polyline connecting these vertical lines at the percentage of the slider value they all have. This representation shows not just clusters of similar genomes, it also shows you which slider layout they roughly have. You can select genomes in this graph.
On the right is a list of genomes (sorted from fittest to least fit) with the fitness value written next to it. The green bands are once again indicative of the slider layout of each genome, so if two capsules look alike, they have a similar slider layout.
--
David Rutten
david@mcneel.com
Tirol, Austria…
Added by David Rutten at 3:00pm on November 18, 2013
used of 180 being for the northern hemisphere and 0 for the southern hemisphere.For the optimal tilt, to my knowledge, they are mostly based on correcting location's latitude through a single formula.TOF component is more sophisticated. It essentially replicates the Solmetric's Annual Insolation Lookup tool.What it does is that it creates a grid of points. Each point represents the calculated annual insolation on the surface (PV module, SWH collector, facade, any kind of surface) for a single tilt and azimuth angle.Each point is then elevated according to the annual insolation values. The mesh is created from that grid of points. The portion of the mesh which is the highest, represents the optimal tilt and azimuth angles. So the higher your "precision_" input is, the more points in a mesh you'll have - thus the more precise final optimal tilt and azimuth will be.For the diffuse component of the annual incident solar radiation for each point the Perez 1990 modified model is used. Direct is from classical cosine law, and Ground reflected component from Liu and Jordan (1963).So TOF component calculates the optimal tilt and azimuth based on annual incident solar radiation, not AC energy....…
+ Easily debug your system by displaying individual force vectors. + High performance, parallel algorithms, spatial data-structures. + Write your own custom forces, no coding required. + Open source framework for others to build custom behaviors. + Boid forces: Cohese, Separate, Align, & View. + Contain Agents within Brep, Box, Surface, and Polysurface environments. + Forces: Path Follow, Attract, Contain, Surface Flow, Seek, Arrive, Avoid Obstacle, Avoid Unaligned Collision, Sense Image, Sense Point, & more to come. + Behaviors: Bounce Contain, Kill Contain, Initial Velocity, Eat, Set Velocity, & more to come.
Future work:
+ Behaviors to drive simulations of people and vehicles.
+ Temporal inputs can change the actions of the system over time.
Download the add-on on Food4Rhino
If you find any bugs or have any feature requests please post them on the GitHub Issue Tracker which will allow everyone to see which bugs are open or closed and allows me to update you when it is fixed.
This is an open source project so if you need custom defined forces or behaviors for your project reach out to me about becoming a committer.
View the project on GitHub
To get started check out this video tutorial on how to set up a basic particle scene. Follow along with this example script.
Learn how to set up a flocking simulation with agents in this video tutorial and example file.
To learn more about the polymorphic type system in the latest release of Quelea see this video explanation.
For questions on how to use Quelea, please create a new Discussion.…
Added by Alex Fischer at 1:20pm on February 16, 2015
the use of digital technologies as architectural design tools. The workshop " Computer Aided Design: parametric design and digital fabrication " aims to do some introductory teaching in the use of some of these tools.
The workshop will focus on the use of computational models of parametric behavior for generating architectural forms. The generative capacity of these models it will be tested in the development of designs defined by repetitive non-standard components, based on the parametric control of its variations and series differentiations. This process will be developed by the use of a three-dimensional modeling software - Rhinoceros, associated with an application for visual programming - Grasshopper.
The last day of the workshop is dedicated to the use of digital manufacturing tools in architecture. Part of the work will take place at the facilities of the Institute of Design of Guimarães (IDEGUI) providing for the use of their laboratories and manufacturing CNC machines (computer numerically controlled).
At the end of the workshop, it is intended the students to understand that the use of digital technologies in architecture can overcome representational functions, and their integration in the design conception, analysis and construction enriches the methodology of project development.
Terms & Participants
The workshop will take place at the School of Architecture of the University of Minho (Campus Azurém, Guimarães) and the Institute of Design of Guimarães (Couros, Guimarães).
The workshop is pointed at students who attend the 3rd year and 4th year from MiArq, EAUM.
The maximum acceptance is 20 students and a minimum of 10 students.
Deadline for entries is April 11 and must be performed by eaum.pac@gmail.com.
Program summary :
Day 23 April 14 -20h
Introduction to 3D modeling in Rhinoceros. Regular geometries, ruled surfaces and NURBS surfaces.
Day 30 April 14 -20h
Parametric design in architecture. Introduction to methods of visual programming.
May 1, 9 -13h 14 -18h
Development of a design idea by the use visual programming processes in Grasshopper.
May 2, 9 -13h 14 -18h
Introduction to methods of digital fabrication. Manufacture physical models of the proposals made.
It is expected that this meeting will take place in the IDEGUI labs.
team:
Bruno Figueiredo ( Lecturer, EAUM )
Paulo Sousa ( PhD candidate , EAUM )
Nuno Cruz ( Invited Lecturer , EAUM )
Cláudia Alvares ( 5th year MiArq student , EAUM )
Javier Bono ( 4th year MiArq student, EAUM )
João Amaro ( 5th year MiArq student, EAUM )…
ll-Facade using Rhino and Grasshopper Participants will learn; Rhinoceros Grasshopper Advanced Parametric Design Brick Formations and Explorations Shadow-Design Relationship
Session 2: Advanced Digital Modeling for Additive Manufacturing (3D Printing) Participants will learn; How to prepare a 3D design to 3D Printing process in Rhinoceros Advanced Methods for 3D Print optimisation for time and cost effective production 3D Printing software education Cura
INFO
Date Saturday, 28 September 2019 Schedule 9:30am – 2:30pm (Session 1) | 2:45pm – 7:00pm (Session2) Venue (TBC) Pada Labs, Istanbul Language English/Turkish Softwares Rhinoceros Grasshopper 3D Cura Participants will need to bring their own laptops with software installed; other plugins will be distributed at the workshop. Prerequisites All tutorials are open to beginner level. No previous knowledge of Cura and Grasshopper needed. Basic knowledge of Rhinoceros recommended. Participation The workshop is limited to the first 20 applicants. Each student will receive a certificate of participation. Prices for each session: (You can pick one and attend one) Special Early registration (Deadline 1 August ) Students 310 TL Professionals 400 TL Regular registration Students 390 TL Professionals 480 TL Prices for Session 1&2 Combined: (Full Day) Special Early registration (Deadline 1 August ) Students 540 TL Professionals 690 TL Regular registration Students 620 TL Professionals 790 TL DISCOUNTS Group registration of 3 or more people will get a 15% discount. * Previous Pada workshop students will get a 10% discount. DIRECTOR Begum Aydinoglu, M.Arch AA DRL will be instructing and directing the following workshops. REGISTRATION: Email to pada.workshops@gmail.com for registration instructions. Please note that we have limited seats and there won't be any exceptions. …
ically i needed a 3d weighted voronoi to create a controllable screenwall. I looked here and in other sites trying to find an answer, but all what i found were some approximation of the issue. So you know:
http://www.grasshopper3d.com/forum/topics/weighted-3d-voronoi-possible?commentId=2985220%3AComment%3A950591
This is an old post in the fórum (even before the gh comp. voronoi exists) about the theme, although i have understood the theory of weighted voronoi, it was impossible to me to carry this logic to a grasshopper algorithm, even though i tried.
http://www.grasshopper3d.com/forum/topics/voronoi-customization-with-attraction-points
This is a short post about the theme that seems have achieved a solution. I don't know if it was my lack of knowledge (probably yes), but i could not uderstand how the presented solutions solved the problem. :/
http://www.grasshopper3d.com/forum/topics/looking-for-weighted-voronoi?id=2985220%3ATopic%3A49548&page=1#comments
This is the longer post about the theme i have found. It presents a very good approximation to 2d weighted voronoi and i could manage it, but i could not find a way to carry this logic in a 3d voronoi.
http://www.grasshopper3d.com/forum/topics/differentiated-voronoi
In this post i learned that weighted voronoi creates hyperbolic curves instead of straight lines, what made me wonder if it would be possible doing a 3d weighted since i needed flat surfaces in the cells. However in this same post i read something about power diagrams, what brings me to the next two links.
http://graphics.uni-konstanz.de/publikationen/2005/voronoi_treemaps/Balzer%20et%20al.%20--%20Voronoi%20Treemaps.pdf
https://www.uni-konstanz.de/mmsp/pubsys/publishedFiles/NoBr12a.pdf
These links are of two papers about the using of voronoi in the development of a treemap (i'm not entering in the details of treemaps here, but the papers give a good introduce if you are interested). Well, i learned that basically are two types of weghted voronoi diagrams: Additively weighted (this one creates the hyperbolic curves) and Powered weighted (this one creates straigh lines). In the papers the authors present their scripts to achieve the diagrams. I have studied python a little bit, but my lack of knowledge (again) in scripts did not allowed me to understand their complex algorithms.
http://www.laratomholt.nl/ghscripts.html
The last link (finally) have some grasshopper scripts of a researcher named Lara Tomholt. One of these scripts is about weighted voronoi in 2 and 3d and achieved a very good approximation of it. However it still has some voids between the cells, what is undesirable to my objectives.
Sorry for this big research historic, but since the theme has been very discussed, i thought it was a good idea show this "state of art" for a better understanding before showing my developments.
Joining all this knowledge achieved through research and a bit of what i already knew in grasshopper, i have been trying to create my weighted voronoi in 2 and 3d cells. I started trying to make adjustments in the scripts found in the links and honestly don't remember exactly how i got to this file attached, probably a consequent of the very try and error.
The script is based in the conectivity of the deulanay mesh component.
Basically i used the connections of one point to create influence in the points connected to it by scaling a line between them, while using the original point as the center of scale and using the new end points as inputs in the voronoi component.
This approach solved the problem for a 1 cell weighting, to make it work in more than 1 cell i used a recursive looping with hoopsnake for make it always consider the new set of points while adding the weights (better understandable looking the script).
This approach seems to work until the penultimate point (probably because of the nature of the delaunay mesh connections i guess), but most important could be used with the 3d vornoi component.
In the file attached i used a range component to create a increase in the weight of the cells aligned with the sequence of the points referenced, of course other methods can be used to create more dynamic weights in the cells.
Well, i'm not sure if my approach is the correct one to solve the problem, neither if it is really a solution at all, so i'm open to suggestions, reviews and comments that can validate or not this aprroach, also open to new solutions in the case.
Sorry for the big post and the not very good english.
Thank you for Reading. :)…
The PC actually stops working because after a few seconds the simulation starts the fan inside the PC all of a sudden stops and for the next 5-10 mins I cannot do anything, even alt+ctrl+canc. After I wait for that time i get the followig error:
the ReadMe says:
{0;0;0}0. Grid-based Radiance simulation1. The component is checking ad, as, ar and aa values. This is just to make sure that the results are accurate enough.2. -ar is set to 300.3. Good to go!4. Current working directory is set to: C:\Users\Luigi\Desktop\Prova__\Prova_1\gridBasedSimulation\5. Found a trans material... Resetting st parameter from 0.85 to 0.011276004966. WMIC PROCESS get Commandline7. WMIC PROCESS get Commandline8. WMIC PROCESS get Commandline9. WMIC PROCESS get Commandline10. WMIC PROCESS get Commandline11. WMIC PROCESS get Commandline12. WMIC PROCESS get Commandline13. WMIC PROCESS get Commandline14. WMIC PROCESS get Commandline15. WMIC PROCESS get Commandline16. WMIC PROCESS get Commandline17. WMIC PROCESS get Commandline18. WMIC PROCESS get Commandline19. WMIC PROCESS get Commandline20. WMIC PROCESS get Commandline21. WMIC PROCESS get Commandline22. WMIC PROCESS get Commandline23. WMIC PROCESS get Commandline24. WMIC PROCESS get Commandline25. WMIC PROCESS get Commandline26. WMIC PROCESS get Commandline27. WMIC PROCESS get Commandline28. WMIC PROCESS get Commandline29. WMIC PROCESS get Commandline30. WMIC PROCESS get Commandline31. WMIC PROCESS get Commandline32. WMIC PROCESS get Commandline33. WMIC PROCESS get Commandline34. WMIC PROCESS get Commandline35. WMIC PROCESS get Commandline36. WMIC PROCESS get Commandline37. WMIC PROCESS get Commandline38. WMIC PROCESS get Commandline39. WMIC PROCESS get Commandline40. WMIC PROCESS get Commandline41. WMIC PROCESS get Commandline42. WMIC PROCESS get Commandline43. WMIC PROCESS get Commandline44. WMIC PROCESS get Commandline45. WMIC PROCESS get Commandline46. WMIC PROCESS get Commandline47. WMIC PROCESS get Commandline48. WMIC PROCESS get Commandline49. WMIC PROCESS get Commandline50. WMIC PROCESS get Commandline51. WMIC PROCESS get Commandline52. WMIC PROCESS get Commandline53. WMIC PROCESS get Commandline54. WMIC PROCESS get Commandline55. WMIC PROCESS get Commandline56. WMIC PROCESS get Commandline57. WMIC PROCESS get Commandline58. WMIC PROCESS get Commandline59. WMIC PROCESS get Commandline60. WMIC PROCESS get Commandline61. WMIC PROCESS get Commandline62. WMIC PROCESS get Commandline63. WMIC PROCESS get Commandline64. WMIC PROCESS get Commandline65. WMIC PROCESS get Commandline66. WMIC PROCESS get Commandline67. WMIC PROCESS get Commandline68. WMIC PROCESS get Commandline69. WMIC PROCESS get Commandline70. WMIC PROCESS get Commandline71. WMIC PROCESS get Commandline72. WMIC PROCESS get Commandline73. WMIC PROCESS get Commandline74. WMIC PROCESS get Commandline75. WMIC PROCESS get Commandline76. WMIC PROCESS get Commandline77. WMIC PROCESS get Commandline78. WMIC PROCESS get Commandline79. WMIC PROCESS get Commandline80. WMIC PROCESS get Commandline81. WMIC PROCESS get Commandline82. WMIC PROCESS get Commandline83. WMIC PROCESS get Commandline84. WMIC PROCESS get Commandline85. WMIC PROCESS get Commandline86. WMIC PROCESS get Commandline87. WMIC PROCESS get Commandline88. WMIC PROCESS get Commandline89. WMIC PROCESS get Commandline90. WMIC PROCESS get Commandline91. WMIC PROCESS get Commandline92. WMIC PROCESS get Commandline93. WMIC PROCESS get Commandline94. WMIC PROCESS get Commandline95. WMIC PROCESS get Commandline96. WMIC PROCESS get Commandline97. WMIC PROCESS get Commandline98. WMIC PROCESS get Commandline99. WMIC PROCESS get Commandline100. WMIC PROCESS get Commandline101. WMIC PROCESS get Commandline102. WMIC PROCESS get Commandline103. WMIC PROCESS get Commandline104. WMIC PROCESS get Commandline105. WMIC PROCESS get Commandline106. WMIC PROCESS get Commandline107. WMIC PROCESS get Commandline108. WMIC PROCESS get Commandline109. WMIC PROCESS get Commandline110. WMIC PROCESS get Commandline111. WMIC PROCESS get Commandline112. WMIC PROCESS get Commandline113. WMIC PROCESS get Commandline114. WMIC PROCESS get Commandline115. WMIC PROCESS get Commandline116. WMIC PROCESS get Commandline117. WMIC PROCESS get Commandline118. WMIC PROCESS get Commandline119. WMIC PROCESS get Commandline120. WMIC PROCESS get Commandline121. WMIC PROCESS get Commandline122. WMIC PROCESS get Commandline123. WMIC PROCESS get Commandline124. WMIC PROCESS get Commandline125. WMIC PROCESS get Commandline126. WMIC PROCESS get Commandline127. WMIC PROCESS get Commandline128. WMIC PROCESS get Commandline129. WMIC PROCESS get Commandline130. WMIC PROCESS get Commandline131. WMIC PROCESS get Commandline132. WMIC PROCESS get Commandline133. WMIC PROCESS get Commandline134. WMIC PROCESS get Commandline135. WMIC PROCESS get Commandline136. WMIC PROCESS get Commandline137. WMIC PROCESS get Commandline138. WMIC PROCESS get Commandline139. WMIC PROCESS get Commandline140. WMIC PROCESS get Commandline141. WMIC PROCESS get Commandline142. WMIC PROCESS get Commandline143. WMIC PROCESS get Commandline144. WMIC PROCESS get Commandline145. WMIC PROCESS get Commandline146. WMIC PROCESS get Commandline147. WMIC PROCESS get Commandline148. WMIC PROCESS get Commandline149. WMIC PROCESS get Commandline150. WMIC PROCESS get Commandline151. WMIC PROCESS get Commandline152. WMIC PROCESS get Commandline153. WMIC PROCESS get Commandline154. WMIC PROCESS get Commandline155. WMIC PROCESS get Commandline156. WMIC PROCESS get Commandline157. WMIC PROCESS get Commandline158. WMIC PROCESS get Commandline159. WMIC PROCESS get Commandline160. WMIC PROCESS get Commandline161. WMIC PROCESS get Commandline162. WMIC PROCESS get Commandline163. WMIC PROCESS get Commandline164. WMIC PROCESS get Commandline165. WMIC PROCESS get Commandline166. WMIC PROCESS get Commandline167. WMIC PROCESS get Commandline168. WMIC PROCESS get Commandline169. WMIC PROCESS get Commandline170. WMIC PROCESS get Commandline171. WMIC PROCESS get Commandline172. WMIC PROCESS get Commandline173. WMIC PROCESS get Commandline174. WMIC PROCESS get Commandline175. WMIC PROCESS get Commandline176. WMIC PROCESS get Commandline177. WMIC PROCESS get Commandline178. WMIC PROCESS get Commandline179. WMIC PROCESS get Commandline180. WMIC PROCESS get Commandline181. WMIC PROCESS get Commandline182. WMIC PROCESS get Commandline183. WMIC PROCESS get Commandline184. WMIC PROCESS get Commandline185. WMIC PROCESS get Commandline186. WMIC PROCESS get Commandline187. WMIC PROCESS get Commandline188. WMIC PROCESS get Commandline189. WMIC PROCESS get Commandline190. WMIC PROCESS get Commandline191. WMIC PROCESS get Commandline192. WMIC PROCESS get Commandline193. WMIC PROCESS get Commandline194. WMIC PROCESS get Commandline195. WMIC PROCESS get Commandline196. WMIC PROCESS get Commandline197. WMIC PROCESS get Commandline198. Runtime error (IndexOutOfRangeException): index out of range: 0199. Traceback: line 320, in script
The thing is that if I raise the -aa parameter from 0.05 to 0.1 all works fine..
Is this only related to my PC then?? What should I do to solve this issue?
Thanks again for your help
Luigi…
is an emerging research area that exploits the principles and logic of natural systems in the design of the built environment. Sandworks* investigates the development of a computational design system informed by the sand self-formation behaviour. The knowledge objective is to understand the process of coding the material physical behaviour that follows the geometrical constraints of developable, ruled and hyperbolic surfaces formed by sand. Through physical and digital form-finding exercises, the workshop will explore the relationships between material and its shaping processes in the generation of form in parallel to theoretical lectures and discussion on cutting edge approaches of computational thinking, design and fabrication in architecture and design. Participants will be introduced to ruled based design thinking through digital design and fabrication systems as well as physical modelling and prototyping techniques.. The workshop aim is to provide an understanding framework of how such processes occur in nature and find their translation in the design of the artificial. *This research started at the Architectural Association school of architecture in London exploring the design and fabrication techniques of sand tectonic system and now it is pursued at ENSA Paris-Malaquias focusing on the development of the machinic morphogenetic possibilities of sand self-formation with robotic distribution of material through addition, subtraction and deposition techniques.www.sandworks.org /// Application To apply, please follow this link to fill the application form https://docs.google.com/forms/d/1n_LN2svFTT79kCqndxznKRj4PX8J8__FVNKvjiHTeJU/viewform /// Fees* 1700 EGP for students / 2000 EGP for graduates and young professionals * 20 % discount for early registration and payment before 22 nd of August 2014 more info on the workshop webpage: http://www.encodestudio.net/#!sandworks/c1nn1…