tips018

データとツリー⑥
— Cross Reference

Sets ▸ List ▸ Cross Reference

2つのリストの、総当たりの組み合わせを作るコンポーネント。
A の全部と B の全部を掛け合わせて、同じ長さの2本のリストにして返す。

何をつなぐか

  • 組み合わせたい2つのリストを AB につなぐ。
    出力も AB の2つなので、そのまま次のコンポーネントの2つの入力へ渡す
  • 足し算や点の生成の手前に挟む。
    挟んでも、その先の配線は変えなくてよい
①がオレンジ、②が青の枠。元のリストはどちらの枠も左の 10, 20, 301, 2。②のコンポーネントの下の Holistic が組み合わせ方の既定。クリックで拡大。

組み合わせの作成

そのまま足す — 3個のまま

{0}11, 22, 32

Cross Reference を挟む — 6個になる

{0}11, 21, 31, 12, 22, 32

元のリストは 10, 20, 301, 2 の2本。
①は足りない 2 が繰り返されて3個で終わる(tips007)。

出力 A10, 20, 30, 10, 20, 30A のリストが B の個数だけ繰り返される
出力 B1, 1, 1, 2, 2, 2B の1個が A の個数だけ続く

組は (10,1) (20,1) (30,1) (10,2) (20,2) (30,2) の順。
A が先に一周し、その間 B は同じ値のまま動かない。

パスは増えない

出力のパス(リスト1本ごとに付く番号・tips007)は、入力と同じ {0} のまま。
1本のリストの中で項目が増えるだけで、リストの本数は変わらない。

Cross Referenceパスは {0} のまま。1本のリストが6項目に伸びる
Graft(tips006)パスが1段増える。項目の数はそのままで、リストの本数が増える

組み合わせ方を変える

既定は Holistic(総当たり)。図②のコンポーネントの下の表示がそれ。
右クリックのメニューで選び直せる。下の3つは 3個 × 3個 でそろえた結果。

Holistic(既定)総当たり。9組
Diagonal同じ番号(何番目か)どうしの組を外す。6組
Lower TriangleA の番号が B の番号以上の組だけ。6組

入力は AB の2つから増やせる。
3つにすると出力も3つになり、2個 × 2個 × 2個 で 8組。

使いどころ

  • X方向と Y方向の連番を組み合わせて格子の点を作る。
    0, 4, 80, 5 を Construct Point に渡すと、挟まなければ3点、挟むと6点。
  • 同じ番号どうししか計算されず、組み合わせが足りないときに間へ入れる。
  • 総当たりが多すぎるときは、右クリックで組み方を絞る。

注意

既定の Holistic では、出る組の数は2つのリストの個数の掛け算。個数のスライダーを少し上げるだけで、その先の計算も掛け算で増える。
出力の AB は組になっている。片方だけ別の経路に流すと、組がずれる。

長さの違うリストをそろえる Longest List / Shortest List は、別の tips で扱う。

#データツリー