ength is applied to particle b, and the same vector multiplied by -2*BendStrength is applied to a and c
Hope that helps. I was thinking of changing this input slightly for the next Kangaroo release, because I realize it can be a pain if you want bending stiffness of a curve to be independent of the number of points used, but I'll make sure to clarify any changes when I do update this.
…
an that HashCodes well ... since they are "unique" per item (even if this - for the one reason or the other - is created at the same location with that) I barely can see how one can use them in order to get rid if "equal" items (Lines in this occasion).
On the other hand ... well ... using HashSets sampling the Line center and testing length and direction ... well ... this works but why bother? > if you are not doing business with code (thus you need this "check" internally) > use the Kangaroo1 component.
That said the topic of "equality" is rather huge and most people are confusing a lot of things on that matter: for instance a point not equal to another ... well ... that's rather simple but a brep "not equal" with some else ... this is not that easy (if it's solvable).…
th one element which is a list of 10 numbers?
I can flatten it and get (I think) a list of 10 elements (even though when I hover over the output of "Flatten" it says "Tree(T) as tree"). I'm surprised I can flatten at all what would appear to common sense to be a simple list of 10 numbers.
I'm hoping that if I can get this answered it will become obvious why we have trees of lists rather than just lists of lists as you would in most computer languages. That's my real goal - to understand the purpose of adding what seems like an unnecessary complication - trees - to the concept of lists in GH. It seems to me as though a "tree" is just a list of other "trees" until you get to the leaves where you can have "lists" which are identical to trees but can have something other than a tree in them. Whether you can have lists of trees or trees with no lists I'm unclear on. Do the leaves of trees have to be lists? Do lists have to be contained in trees? It would appear from the series example where a tree is produced for no obvious reason to contain the list that this is the case but given that you can flatten it, I guess not - or is the "List" I see in the param viewer just another type of "tree"?
I've found many tutorials that talk about how to manipulate trees and lists and I've managed to get along fairly well with them so far, but nothing seems to explain the reasoning behind the existence of trees and the philosophy for how and when they should be used and when lists should/could be used and precisely what the difference is between them.
Sorry to be long winded but I'm so confused!
Darrell Plank
P.S. I've seen David Rutten's diagram with the colored leaves in Grasshopper Primer 2 and that seems helpful. It would appear that trees can only have lists at their leaves and lists can't have trees although I'm not sure that it comes out and says that directly but at least there are no examples of this shown in his tree diagram. I thought I had it down pretty much so decided to test myself. Apparently I'm as confused as ever:
It certainly appears to me that this tree has two levels - a first level with one limb and a second with 10 limbs - and that I should be able to index it with {0;0} and retrieve a tree with one item in it - the list {0}. The panel data seems to confirm this with indices of {0;0;0}, etc. so I put this path in with quite a bit of confidence that it would work and...bust. The error reads "Path {0;0} does not exist within this tree". Huh? Again, I'm just so confused.…
Added by Darrell Plank at 12:17am on January 20, 2015
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
elivering their latest workstation and graphics technology.
Intensive computing and exceptional graphics technology will deliver generative modeling and computing to its next level.
Participants will learn the ease of use of Grasshopper within Rhinoceros, so they could start creating their own generative design.
Who should attend:
1. Professionals in design and engineering industry who would like to gain more knowledge and productivity
2. Students who would like to extend their knowledge to the next level
3. Supporting IT who would like to provide even more efficient tools for engineers and designers
4. Engineering and Design Enthusiasts
Participants should send an email to fani@m3kom.co.id, to receive an invitation and its detail.
For further technical information about the event, feel free to ask Rendy (tihe.tihe@gmail.com).
This event will consist of the sneak preview of most anticipated real-time rendering for Rhinoceros: V-Ray RT for Rhino.
Hopefully, this will also initiate the establishment of Indonesia's generative modeling designers community in Indonesia.…
this workshop is to materialize a chair designed with help of generative algorithms via robotic fabrication. To design the form of the chair we will go through an intensive course of generative design techniques, k-means clustering, structural analysis and optimization done with the help of Anemone, Galapagos, Millipede and other plugins. Finally we will employ a 6-axis robot with custom tooling to fabricate the chair via robotic rod bending. No prior experience with Grasshopper or robotic fabrication is required, although basic knowledge in 3d modelling would be an asset. // APPLICATION The deadline for application is 13.03.2017 Apply by sending email titled ‘workshop_chair’ to workshops@aan1.net // INFO If you have any more questions check the www.aan1.net website or contact us with email workshops@aan1.net // FEE We have special pricing for students, as well as an early bird offer. Check the Eventbrite list to get more details. Please bear in mind that a limited amount of seats is available (minimum 8 people, maximum 16). ORGANIZERS: Maria Smigielska, Mateusz Zwierzycki, AAn+1 TUTORS: Maria Smigielska, Mateusz Zwierzycki PRICES: Early Bird Student 280 E Early Bird Pro 320 E Regular Student 300 E Regular Pro 350 E…
p 10 "Scripting Reality – Integrating 3D Point Clouds in parametric design workflows".
This research-based workshop will introduce participants to thegeometrical class of point clouds and ways to handle, manipulate, analyse and script with them. Participants will as well have the chance to get first-hand knowledge in the handling of 3d capturing devices and to link their outputs directly into a design environment.
The workshop poses especially the question of how changes on architectural scale can be tracked over time. Related algorithmic concepts and the Volvox plugin, allow for the first time to directly access and manipulate point clouds in a parametric design environment, will be introduced to the workshop participants. A 1:1 experiment on the ETH campus will provide a testbed. Participants will learn point cloud processing and learn to track objects solely on the base of point cloud analysis, find deviations against the planned and visualise the results.
The workshop is led by Mateusz Zwierzycki, Martin Tamke and Henrik Leander Evers. FARO provides several 3d scanners with helical adapters and acccess to the FARO SDK for the workshop. The workshop is modestly priced with 160CHF.
register now.
http://www.aag2016.ch/workshop-10/
…