cture, Rhino treats them as a single flat list. For example a surface can have 10 rows and 6 columns of control-points, resulting in a list of 60 points.
But 10 times 6 isn't the only way to get to 60. If you want to make a surface out of a list of 60 points, you'll also have to tell Rhino how those 60 points should be interpreted in terms of a grid. It could be 2*30, 3*20, 4*15, 5*12, 6*10, and all of the aforementioned products the other way around.
Sometimes there's only one way for a number of points to fit into a rectangular grid. For example if you provide 49 points, then 7*7 is the only way to make it work, but these cases are rare so we always demand you give us all the information required to actually make a rectangular grid of control-points from a linear collection.
As for "Why is it, sometimes we need to attach additional value into it?", this is usually because when you divide a domain or a curve into N segments, you end up with N+1 points. For example take the domain {0 to 5}, and divide it into 5 equal subdomains. You end up with {0 to 1}, {1 to 2}, {2 to 3}, {3 to 4} and {4 to 5}. However there are six numbers that mark the transitions between these domains 0, 1, 2, 3, 4 and 5. This is why you often have to add 1 to the UCount, because the number that controls the UCount often results in N+1 actual points.…
Added by David Rutten at 8:30am on December 25, 2014
fault materials...6 RAD materials are loaded1. 2. Downloading OpenStudioMasterTemplate.idf to c:\ladybug\3. Loading EP construction library4. 206 material found in c:\ladybug\OpenStudioMasterTemplate.idf5. 30 windowmaterial found in c:\ladybug\OpenStudioMasterTemplate.idf6. 284 construction found in c:\ladybug\OpenStudioMasterTemplate.idf7. Loading EP schedules...8. The ScheduleTypeLimits: Fraction is already existed in the libaray.You need to rename this ScheduleTypeLimits.9. The ScheduleTypeLimits: Temperature 7 is already existed in the libaray.You need to rename this ScheduleTypeLimits.10. 21 scheduletypelimits found in c:\ladybug\OpenStudioMasterTemplate.idf11. 1370 schedule found in c:\ladybug\OpenStudioMasterTemplate.idf12. 13. 14. Hooohooho...Flying!!Vviiiiiiizzz...…
Pérez Albà McNeel Europe presents Rhino 5.0, Matus Nedecký (flying architecture) and Fabio Palvelli (3D Dreaming) show VRAY for Rhino and rendering services for architecture. We also show the new Wacom Cintiq 22 HD touch.
There are 2 events, the first at 15:00 and the second at 18:30. Places are limited to 30 people each.
As a special event you can switch between the events at a basic coffee seminar "Coffee - from the plant to the cup" part. Coffee Museum in Austrian society and economy museum was founded by Edmund Mayr, who injected together with Arch Wilhelm Holzbauer, the increase of the flak tower in Esterhazy Park. His passion for collecting are also due to the many exhibits that he has collected from all over the world. Additionally Mag. Just shows a quick roundup of "100 Years of Life and Living in Vienna" and how the inventions of Dr. Carl Auer von Welsbach changed the world significantly.
program: 15:00 to 15:45 Presentation software Autodesk Maya 2014 (group 1)
15:45 -. 16:00 Tour "100 years of life and living in Vienna / Dr Carl Auer von Welsbach in the Agricultural Museum (Group 1)
16:00 to 16:45 Presentation software Rhino 5.0 and VRAY (group 1)
5:00 p.m. to 6:15 p.m. basic coffee seminar "Coffee - from the plant to the cup" with Mr Edmund Mayr
18:30 to 19:15 Presentation software Autodesk Maya 2014 (Group 2)
19:15 -. 19:30 Tour "100 years of life and living in Vienna / Dr Carl Auer von Welsbach in the Agricultural Museum (Group 1)
19:30 to 20:15 Presentation software Rhino 5.0 and VRAY (Group 2)
20:15 finger found, drinks and "Come Together"
22:00 End of the event
Participation is FREE, due to the limited number of places but registration is required. To register for the event, we ask you to select the following options:
Online Registration 15:00 http://www.kkkc.at/component/seminar/?task=3&cid=5
Online Registration 18:30 http://www.kkkc.at/component/seminar/?task=3&cid=6
or by email: office@kkkc.at
or Tel: 01-545 78 25…
ches it with the first branch in Tree B (and then the first branch in Tree C if more than two trees are involved).
I'm planning to add better branch matching logic, but I'm not going to touch it until I have a good idea about what's needed and how it can be accomplished without breaking existing files.
So, the branch "address" is only used to sort the branches in a single tree. Thus, a tree with the following branches is always sorted in the exact same way:
{0;0}
{0;1}
{0;2}
{0;3;0}
{0;3;1}
{1;6}
If you have another tree with different branches:
{0}
{1}
{2}
{3}
{4}
{5}
Then the matching will be:
{0;0} -> {0}
{0;1} -> {1}
{0;2} -> {2}
{0;3;0} -> {3}
{0;3;1} -> {4}
{1;6} -> {5}
As long as people adhere to your advice: "it is best for the addresses of each tree branch to be in the same format", there will be no problem. But it is at the moment extremely difficult to perform complex matchings.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 9:25am on August 11, 2010
ems in the same way. Lofting was particularly difficult, you had to have a separate loft component for every lofted surface that you wanted to generate because the component would/could only see one large list of inputs. Then came along the data structures in GH v0.6 which allowed for the segregation of multiple input sets.
If you go to Section 8: The Garden of Forking Paths of the Grasshopper Primer 2nd Edition you will find the image above describing the storing of data.
Here you will notice a similarity between the path {0;0;0;0}(N=6) and the pathmapper Mask {A;B;C;D}(i). A is a placeholder for all of the first Branch structures (in this case just 0). B is a place holder for all the second branch structures possibly either 0, 1 or 2 in this case. And so forth.
(i) is a place holder for the index of N. If you think of it like a for loop the i plays the same role. For the example {A;B;C;D}(i) --> {i\3}
{0;0;0;0}(0) --> {0\3} = {0}
{0;0;0;0}(1) --> {1\3} = {0}
{0;0;0;0}(2) --> {2\3} = {0}
{0;0;0;0}(3) --> {3\3} = {1}
{0;0;0;0}(4) --> {4\3} = {1}
{0;0;0;0}(5) --> {5\3} = {1}
{0;0;0;1}(0) --> {0\3} = {0}
{0;0;0;1}(1) --> {1\3} = {0}
{0;0;0;1}(2) --> {2\3} = {0}
{0;0;0;1}(3) --> {3\3} = {1}
{0;0;0;1}(4) --> {4\3} = {1}
{0;0;0;1}(5) --> {5\3} = {1}
{0;0;0;1}(6) --> {6\3} = {2}
{0;0;0;1}(7) --> {7\3} = {2}
{0;0;0;1}(8) --> {8\3} = {2}
...
{0;2;1;1}(8) --> {8\3} = {2}
I'm not entirely sure why you want to do this particular exercise but it goes some way towards describing the process.
The reason for the tidy up: every time the data stream passes through a component that influences the path structure it adds a branch. This can get very unwieldy if you let it go to far. some times I've ended up with structures like {0;0;1;0;0;0;3;0;0;0;14}(N=1) and by remapping the structure to {A;B;C} you get {0;0;1}(N=15) and is much neater to deal with.
If you ever need to see what the structure is there is a component called Param Viewer on the first Tab Param>Special Icon is a tree. It has two modes text and visual double click to switch between the two.
Have a look at this example of three scenarios in three situations to see how the data structure changes depending on what components are doing.
…
ep is to understan the logics of what you want to do, in your case, build 4 point surfaces (u also need to know the right direction to build the surfaces). Then you can write an hipotetic list (by hand in a paper) of what you want. In your case the list was (0, 1, 3, 2) (2, 3, 5, 4) (4, 5, 7, 6), etc... if you can imagine building 2 lists, each one with the sequences (0, 2, 4, 6, etcc) and (1, 3, 5, 7, etc..) then you can manage with shift and graft to finally have four lists. A( 0 1 2 3 ...) B (1 3 5 etc..) C(3 5 7 etc..) D (2 4 6 etc..). And to achieve the 2 first lists, you need to get the odd and the pair numbers. The cull pattern does that amazingy well. With a pattern True-False you get de pair numbers, and with the False-True pattern you get de odd numbers.
Hope it was clear enough…
Added by Pep Tornabell at 5:32am on November 19, 2009
branches in each A's list of B's, or remove its ends etcso that if I want to remove the last B in every A{0;1},{0;2},{0;3},{0;4},{0;5},{0;6}{1;1},{1;2},{1;3},{1;4}{2;1},{2;2},{2;3},{2;4},{2;5}would become{0;1},{0;2},{0;3},{0;4},{0;5}
{1;1},{1;2},{1;3}
{2;1},{2;2},{2;3},{2;4}I guess the question is do I need to figure out the cull pattern- each B may have different lengths...…