Click here to load reader
Upload
travecom
View
216
Download
3
Embed Size (px)
Citation preview
25/4/2014 Cross Reference; what is it, how does it work, why would I need it? - Grasshopper
http://www.grasshopper3d.com/forum/topics/cross-reference-what-is-it-how-does-it-work-why-would-i-need-it?id=2985220%3ATopic%3A650277&page=1… 1/12
Search Grasshopper Search
massimilianoSign Out
Grasshopper
algorithmic modeling for Rhino
HomeGalleriesDownloadTutorialsDiscussionsEvents
My Page
All DiscussionsMy DiscussionsAdd
Cross Reference; what is it, how does it work, whywould I need it?
Posted by David Rutten on August 1, 2012 at 4:31pm in FAQ (Frequent Questions and Problems)Send Message View Discussions
As of Grasshopper 0.9 components no longer offer a Cross Reference option in their pop-up menus. This feature was
removed because I felt it was not flexible enough. Now, you can achieve Cross Reference matching with a dedicatedcomponent which creates combinations of items. You can find the [Cross Reference] component in the Sets.List panel.
When Grasshopper iterates over lists of items, it will match the first item in list A with the first item in list B. Then the seconditem in list A with the second item in list B and so on and so forth. Sometimes however you want all items in list A to combine
with all items in list B, the [Cross Reference] component allows you to do this.
25/4/2014 Cross Reference; what is it, how does it work, why would I need it? - Grasshopper
http://www.grasshopper3d.com/forum/topics/cross-reference-what-is-it-how-does-it-work-why-would-i-need-it?id=2985220%3ATopic%3A650277&page=1… 2/12
Here we have two input lists {A,B,C} and {X,Y,Z}. Normally Grasshopper would iterate over these lists and only consider
the combinations {A,X}, {B,Y} and {C,Z}. There are however six more combinations that are not typically considered, towit: {A,Y}, {A,Z}, {B,X}, {B,Z}, {C,X} and {C,Y}. As you can see the output of the [Cross Reference] component issuch that all nine permutations are indeed present.
We can denote the behaviour of data cross referencing using a table. The rows represent the first list of items, the columns thesecond. If we create all possible permutations, the table will have a dot in every single cell, as every cell represents a uniquecombination of two source list indices:
Sometimes however you don't want all possible permutations. Sometimes you wish to exclude certain areas because theywould result in meaningless or invalid computations. A common exclusion principle is to ignore all cells that are on the diagonalof the table. The image above shows a 'holistic' matching, whereas the 'diagonal' option (available from the [Cross Reference]component menu) has gaps for {0,0}, {1,1}, {2,2} and {3,3}:
If we apply this to our {A,B,C}, {X,Y,Z} example, we should expect to not see the combinations for {A,X}, {B,Y} and{C,Z}:
The rule that is applied to 'diagonal' matching is: "Skip all permutations where all items have the same list index" .'Coincident' matching is the same as 'diagonal' matching in the case of two input lists which is why I won't show an example ofit here (since we are only dealing with 2-list examples), but the rule is subtly different: "Skip all permutations where any twoitems have the same list index".
The four remaining matching algorithms are all variations on the same theme. 'Lower triangle' matching applies the rule: "Skipall permutations where the index of an item is less than the index of the item in the next list" , resulting in an emptytriangle but with items on the diagonal.
25/4/2014 Cross Reference; what is it, how does it work, why would I need it? - Grasshopper
http://www.grasshopper3d.com/forum/topics/cross-reference-what-is-it-how-does-it-work-why-would-i-need-it?id=2985220%3ATopic%3A650277&page=1… 3/12
'Lower triangle (strict)' matching goes one step further and also eliminates the items on the diagonal:
'Upper Triangle' and 'Upper Triangle (strict)' are mirror images of the previous two algorithms, resulting in empty triangles onthe other side of the diagonal line:
Tags: Coincident, Cross Reference, Diagonal, Holistic, Lower, Matching, Strict, Triangle, Upper
Share Twitter Facebook Facebook
Views: 10549
▼ Reply to This
25/4/2014 Cross Reference; what is it, how does it work, why would I need it? - Grasshopper
http://www.grasshopper3d.com/forum/topics/cross-reference-what-is-it-how-does-it-work-why-would-i-need-it?id=2985220%3ATopic%3A650277&page=1… 4/12
Upload Files
Follow – Email me when people reply
Add Reply
Replies to This Discussion
Permalink Reply by Ángel Linares on August 1, 2012 at 5:18pm
The component looks amazing. Nice idea implementing all this functions and different combinations :)
▶ Reply
Permalink Reply by Yasser Hafizs on August 2, 2012 at 10:30am
Awesome, Thanks David.
How about this feature? I've seen before in the forum, did this feature available too?
▶ Reply
25/4/2014 Cross Reference; what is it, how does it work, why would I need it? - Grasshopper
http://www.grasshopper3d.com/forum/topics/cross-reference-what-is-it-how-does-it-work-why-would-i-need-it?id=2985220%3ATopic%3A650277&page=1… 5/12
Permalink Reply by David Rutten on August 2, 2012 at 12:57pm
Hi Yasser,
not like that, at least not yet. You can enter paths into a parameter Set Multiple... item:
--
David Rutten
Poprad, Slovakia
▶ Reply
Message
25/4/2014 Cross Reference; what is it, how does it work, why would I need it? - Grasshopper
http://www.grasshopper3d.com/forum/topics/cross-reference-what-is-it-how-does-it-work-why-would-i-need-it?id=2985220%3ATopic%3A650277&page=1… 6/12
Permalink Reply by Yasser Hafizs on August 3, 2012 at 7:35am
I see. Thank you
▶ Reply
Permalink Reply by Diego Porr on August 3, 2012 at 11:52am
Hi David, i hope you can answer me this question...
How could you use this component to make this combination: AX, AY, AZ, BX, BY, BZ, CX, CY, CZ?
▶ Reply
Permalink Reply by Garcia del Castillo on August 3, 2012 at 12:42pm
Remember to plug the graft at output B first.
25/4/2014 Cross Reference; what is it, how does it work, why would I need it? - Grasshopper
http://www.grasshopper3d.com/forum/topics/cross-reference-what-is-it-how-does-it-work-why-would-i-need-it?id=2985220%3ATopic%3A650277&page=1… 7/12
▶ Reply
Permalink Reply by Garcia del Castillo on August 3, 2012 at 12:43pm
PNG transparency not working properly?
▶ Reply
Permalink Reply by Danny Boyes on August 3, 2012 at 12:44pm
That's the same as the first example Holistic
▶ Reply
Permalink Reply by Danny Boyes on August 3, 2012 at 4:07pm
An alternative to String Join is Concatenate
25/4/2014 Cross Reference; what is it, how does it work, why would I need it? - Grasshopper
http://www.grasshopper3d.com/forum/topics/cross-reference-what-is-it-how-does-it-work-why-would-i-need-it?id=2985220%3ATopic%3A650277&page=1… 8/12
▶ Reply
Permalink Reply by Diego Porr on August 4, 2012 at 9:46am
I wanted to create a dot matrix which in the past Grasshopper version was too easy by clicking 'cross reference' on
component's pop-up menu. I finally used f(x,y)= x+y with A and B outputs of cross reference component. Thank somuch for your help guys.
▶ Reply
Permalink Reply by Lucybell on September 20, 2012 at 7:05pm
Hi! David.
I have a problem, I want to build a surface from points generated by the parametric form but using cross references for
every single parametric function, only describing the edge.
how I can fix that?
Thanks for help me
Lucibell
▶ Reply
25/4/2014 Cross Reference; what is it, how does it work, why would I need it? - Grasshopper
http://www.grasshopper3d.com/forum/topics/cross-reference-what-is-it-how-does-it-work-why-would-i-need-it?id=2985220%3ATopic%3A650277&page=1… 9/12
Permalink Reply by David Rutten on September 21, 2012 at 2:16am
Hi Lucybell,
I think it's better if you post on the main forum and attach the file so people can see what you've got. More people willsee it over there.
--
David Rutten
Poprad, Slovakia
▶ Reply
Message
‹ Previous12Next ›
Page 2 Go
RSS
massimiliano
Sign Out
Inbox
AlertsFriends – Invite
Settings
New Invites
4 Group Invites
Translate
Select Language
Pow ered by Translate
Search Grasshopper
Search
Photos