(twice the amount of lines, it'll take twice as long).
If you nest two loops you're iterating over each line, and then you iterate again over each line. So when you now have twice as many lines, it takes four times as long O(N*N) or O(N²)
With an octree you can reduce the second iteration from O(N) to O(log N). The reason octrees are fast is because they allow you to quickly reject large amounts of lines in your set. Lines are no longer stored in a list, but rather in recursive spatial buckets. If we determine that a certain bucket is too far away to possibly yield any valid results, we can instantly skip all the lines in that buckets and any sub-buckets. If you're lucky, you can reject ~85% of the local data in every iteration, which means even large collections of lines are reduced to only a few potential candidates very quickly.
Thinking about this I'm actually not sure now whether lookup in my Tree3d class is O(log N) or O(sqrt N), but the basic principle holds. The reason the resulting algorithm is O(N * log N) is because the outer loop is still O(N) but the inner loop is now replaced with an O(log N) searcher, so you end up with O(N) * O(log N) = O(N log N)
At least that's how I think it works, computational theory has never been my strong suit.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 4:55pm on November 29, 2012
p; 3D Urban ModelingOn the topography subject I get the next message: "One or more boundaries may be outside the bounds of the topo dataset" I'm not sure if it's the .IMG file I'm loading since I found so many IMG files nearing my polyline area (Miami Lat:26 Lon:-81 aprox.) or maybe my polygon doesn't match the topo area? I have no idea why it isn't working :(On the Shapefile subject, haven't been able to find a Building Height SHP File, so far have downloaded around 8 SHP files which only contain Polylines, my solution is to meanwhile randomize Z heights, but of course this data is not "technically" correct.P.S.: I've already tried all example links and also the ones posted by you and Benjamin in this video.Been strugling last few days, hope you can help me, thanks in advance!!…
" (idiomatic) and easy way of doing things.So here come some basic questions:
Is there a way to create custom components by grouping an existing sub-network together? I'm looking for a way to re-use parts of a program (something similar to subroutines), and to make the network look less cluttered. I found that it is possible to group components (ctrl-g), but this still displays them as separate blocks (too much clutter), and provides no way to re-use a sub-network in such a way that if it is modified in one place, all it's instances (all the places where it is re-used) also get modified.
Is there a component that does nothing, just passes a signal through? Suppose I need to connect block A to blocks B1, B2, B3 (all three get the same input). Then I change my mind, and I decide to connect block C to these three, not A. In this case it will be necessary to change three connections, not just one. I'm looking for an easy way to do this by a single rewiring, not three. (This came up in a practical situation).
Finally, a related question: is there a component that acts as a switch, so I can choose which signal it passes through out of a possible set of choices? For example, suppose that a set of objects can be coloured based on a number of different properties (size, positions, rotation, etc.) I'm looking for a way to switch between these very easily, without the need to do much rewiring.
Thank you in advance for any replies / useful comments, even general ones on how to easily structure a large Grasshopper program/network.…
at 0.85m above the floor.
I copy paste from the Appendix E:Rights to Light of the book "Paul Littlefair, Site Layout Planning for Daylight and Sunlight, A good practice, BRE Press, p.60" which is the primary guide for evaluating the impact of new construction to the Rights to Light of the existing adjustment buildings:
"The accepted way of calculating the loss of light is to compute the sky factor at a series of points on the working plane. In dwellings, the working plane height is usually taken to be 0.85 m (two feet nine inches). The sky factor is the ratio of the illuminance directly received from a uniform sky at the point indoors, to the illuminance outdoors under an unobstructed hemisphere of this sky. No allowance is made for glass losses or light blocked by glazed bars and (usually) window frames; nor is reflected light included, either from interior surfaces or obstructions outside. Thus the sky factor is not the same as the CIE daylight factor (see Appendix C). The sky factor is often calculated using a Waldram diagram, but this is a different Waldram diagram to Figure B1 in Appendix B, which should not be used for this purpose."
Thought couldn't find the specific Waldram diagram for this case from the references, I assume contemporary analytical tools should exist to calculate it.
I used your Vertical Sky Component process and culled the mesh faces lower than 0.2% but I believe because of they type of the radiance analysis as you have explained it before (stochastic method) it doesn't create one continuous edge, as you can see in the attached image.
Thanks,
Dimitris…
nowledge, tools, materials and machines. The Clusters provide a focus for workshop participants working together within a common framework.
Clusters provide a forum for the exchange of ideas, processes and techniques and act as a catalyst for design resolution. The Workshop is made up of ten Clusters that respond in diverse ways to the sg2012 Challenge Material Intensities. The Call for Clusters is now open to proposals which respond in innovative ways to this year's challenge.
Deadline: September 19 2011
More information can be found here:
http://smartgeometry.org/index.php?option=com_content&view=article&id=129&Itemid=146
sg2012 takes place from 19-24 March 2012 at EMPAC (http://empac.rpi.edu/) and is hosted by Rensselaer Polytechnic Institute in Troy, upstate New York USA. The Workshop and Conference will be a gathering of the global community of innovators and pioneers in the fields of architecture, design and engineering.
The event will be in two parts: a four day Workshop 19-22 March, and a public conference beginning with Talkshop 23 March, followed by a Symposium 24 March. The event follows the format of the highly successful preceding events sg2010 Barcelona and sg2011 Copenhagen.
sg2012 Challenge Material Intensities
Simulation, Energy, Environment
Imagine the design space of architecture was no longer at the scale of rooms, walls and atria, but that of cells, grains and vapour droplets. Rather than the flow of people, services, or construction schedules, the focus becomes the flow of light, vapour, molecular vibrations and growth schedules: design from the inside out.
The sg2012 challenge, Material Intensities, is intended to dissolve our notion of the built environment as inert constructions enclosing physically sealed spaces. Spaces and boundaries are abundant with vibration, fluctuating intensities, shifting gradients and flows. The materials that define them are in a continual state of becoming: a dance of energy and information.Material potential is defined by multiple properties: acoustical, chemical, electrical, environmental, magnetic, manufacturing, mechanical, optical, radiological, sensorial, and thermal. The challenge for sg2012 Material Intensities is to consider material economy when creating environments, micro-climates and contexts congenial for social interaction, activities and organisation. This challenge calls for design innovation and dialogue between disciplines and responsibilities.sg2010 Working Prototypes strove to emancipate digital design from the hard drive by moving from the virtual to the actual in wrestling with the tangible world of physical fabrication. sg2011 Building the Invisible focused on informing digital design with real world data. sg2012 Material Intensities strives to energise our digital prototypes and infuse them with material behaviour. They have the potential to become rich simulations informed by the material dynamics, chemical composition, energy flows, force fields and environmental conditions that feed back into the design process.
More information can be found at http://www.smartgeometry.org…
Data – how it’s stored, accessed, and associated – is the threshold that separates you from fluid execution and powerful routines in Grasshopper. Beginning with a presentation on the main principles of working with Data Trees, this webinar will incrementally unpack a diverse set of Data-related techniques through a series of “live” exercises. With two instructors offering guided curriculum and continuous support it is our goal to provide you with an in-depth and personal learning experience. Additional topics covered will include: what is a Data Structure, why Data Trees look the way they do, and how to navigate, manipulate, and grow your Data Tree in an organized way.
Topics:
What are Data Trees? What do all of those index values mean?
If I have a Data Tree, How can I precisely navigate through it?
My Data Tree is wild! How can I tame it and make its structure clear?
What else are Trees good for? How can I use my Data Tree to create unique labels?
Details:
Level: Some experience suggested. Beginners can review our Introduction to Grasshopper Webinar here: https://vimeo.com/album/2103407
Suitable For: All Creative Professionals: Artists, Architects, Designers, Engineers, Programmers, Students.
Software: Rhino 4SR9 or Rhino5Beta + Grasshopper 0.9.
Instructors: Ronnie Parsons + Gil Akos | Partners, Studio Mode
Pricing: $99/$59 : Professional/Student Rate. Register now to Access the Full Webinar Content and Videos: http://modelab.nu/?p=7233.…
Data – how it’s stored, accessed, and associated – is the threshold that separates you from fluid execution and powerful routines in Grasshopper. Beginning with a presentation on the main principles of working with Data Trees, this webinar will incrementally unpack a diverse set of Data-related techniques through a series of “live” exercises. With two instructors offering guided curriculum and continuous support it is our goal to provide you with an in-depth and personal learning experience. Additional topics covered will include: what is a Data Structure, why Data Trees look the way they do, and how to navigate, manipulate, and grow your Data Tree in an organized way.
Topics:
What are Data Trees? What do all of those index values mean?
If I have a Data Tree, How can I precisely navigate through it?
My Data Tree is wild! How can I tame it and make its structure clear?
What else are Trees good for? How can I use my Data Tree to create unique labels?
Details:
Level: Some experience suggested. Beginners can review our Introduction to Grasshopper Webinar here: https://vimeo.com/album/2103407
Suitable For: All Creative Professionals: Artists, Architects, Designers, Engineers, Programmers, Students.
Software: Rhino 4SR9 or Rhino5Beta + Grasshopper 0.9.
Instructors: Ronnie Parsons + Gil Akos | Partners, Studio Mode
Pricing: $99/$59 : Professional/Student Rate. Register now to Access the Full Webinar Content and Videos: http://modelab.nu/?p=7233.…
ning with a presentation on the main principles of working with NURBS surfaces, this webinar will incrementally unpack a diverse set of surface-related techniques through a series of “live” exercises with Grasshopper. With two instructors offering guided curriculum and continuous support it is our goal to provide you with an in-depth and personal learning experience. Additional topics covered will include: how to move through “surface space”, creating and analyzing simple surface panels, and how to create custom panels on a surface.
Topics:
What is a Surface? How do I make one and what are its parts?
Wait!.. A Surface has its own Space? How can I navigate this Space?
How can I divide my Surface into Panels? Can I ensure they are flat -or- How do I keep them curvy?
I just tested all of my Panels for planarity but what do those numbers mean? How can I more intuitively visualize the results?
Now I have simple Panels, but can I create my own custom Panel Object at each original Panel location?
Details:
Level: Some experience suggested. Beginners can review our Introduction to Grasshopper Webinar here: vimeo.com/album/2103407
Suitable For: All Creative Professionals: Artists, Architects, Designers, Engineers, Programmers, Students.
Software: Rhino 4SR9 or Rhino5Beta + Grasshopper 0.9.
Instructors: Ronnie Parsons + Gil Akos | Partners, Studio Mode
Pricing: $99/$59 : Professional/Student Rate. Register now to Access the Full Webinar Content and Videos: http://modelab.nu/?p=7238.…
Data – how it’s stored, accessed, and associated – is the threshold that separates you from fluid execution and powerful routines in Grasshopper. Beginning with a presentation on the main principles of working with Data Trees, this webinar will incrementally unpack a diverse set of Data-related techniques through a series of “live” exercises. With two instructors offering guided curriculum and continuous support it is our goal to provide you with an in-depth and personal learning experience. Additional topics covered will include: what is a Data Structure, why Data Trees look the way they do, and how to navigate, manipulate, and grow your Data Tree in an organized way.
Topics:
What are Data Trees? What do all of those index values mean?
If I have a Data Tree, How can I precisely navigate through it?
My Data Tree is wild! How can I tame it and make its structure clear?
What else are Trees good for? How can I use my Data Tree to create unique labels?
Details:
Level: Some experience suggested. Beginners can review our Introduction to Grasshopper Webinar here: https://vimeo.com/album/2103407
Suitable For: All Creative Professionals: Artists, Architects, Designers, Engineers, Programmers, Students.
Software: Rhino 4SR9 or Rhino5Beta + Grasshopper 0.9.
Instructors: Ronnie Parsons + Gil Akos | Partners, Studio Mode
Pricing: $99/$59 : Professional/Student Rate. Register now to Access the Full Webinar Content and Videos: http://modelab.nu/?p=7233.…
ning with a presentation on the main principles of working with NURBS surfaces, this webinar will incrementally unpack a diverse set of surface-related techniques through a series of “live” exercises with Grasshopper. With two instructors offering guided curriculum and continuous support it is our goal to provide you with an in-depth and personal learning experience. Additional topics covered will include: how to move through “surface space”, creating and analyzing simple surface panels, and how to create custom panels on a surface.
Topics:
What is a Surface? How do I make one and what are its parts?
Wait!.. A Surface has its own Space? How can I navigate this Space?
How can I divide my Surface into Panels? Can I ensure they are flat -or- How do I keep them curvy?
I just tested all of my Panels for planarity but what do those numbers mean? How can I more intuitively visualize the results?
Now I have simple Panels, but can I create my own custom Panel Object at each original Panel location?
Details:
Level: Some experience suggested. Beginners can review our Introduction to Grasshopper Webinar here: vimeo.com/album/2103407
Suitable For: All Creative Professionals: Artists, Architects, Designers, Engineers, Programmers, Students.
Software: Rhino 4SR9 or Rhino5Beta + Grasshopper 0.9.
Instructors: Ronnie Parsons + Gil Akos | Partners, Studio Mode
Pricing: $99/$59 : Professional/Student Rate. Register now to Access the Full Webinar Content and Videos: http://modelab.nu/?p=7238.…