C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

端点一致を探る、組み合わせテスト6

こちらの続きです。
端点一致を探る、組み合わせテスト5 - C#ATIA


説明をきちんと読んでませんでした。

>"分割レベルL=2 最小を16番 最大を23番" では
>"親空間の2番" なのですが、実行すると "親空間の3番" に・・・。

と前回は書いたのですが、" 3 " が戻ってきて正解でした。
てっきり空間を示す番号が返って来るものだと思い込んでいましたが、
線形8分木のインデックスが返って来るんですね。
確かに空間の番号だけでは、レベルを考慮されていないので。

で、他の座標値で確認してみます。

f:id:kandennti:20161216192656p:plain

考えるのがしんどいので、単純に
最小 (-10,-10,-10) 最大(10,10,10)
の立方体な空間に
座標値1 (1,1,1) と 座標値2 (2,2,2)
を持つボリュームの空間番号を、分割レベル " 2 " で調べた結果です。
座標値1 と 座標値2 がレベル2のモートン順序 "56" に
所属しているのは、前回の泥臭いExcel対応表を見ても正しい事は
確認できます。
しかし、線形8分木インデックスNoは " 1 " と出ていますが、
正しくは "65" です・・・。 何故わかるかと言うと
更に泥臭い対応表を作成したからです。

f:id:kandennti:20161216192703p:plain

気持ちを切り替え他の座標値で。
空間サイズと分割レベルそのままで、
座標値1 (1,1,1) と 座標値2 (9,9,9)
を試すと

f:id:kandennti:20161216192709p:plain

座標値2 モートン順序 "448" って、Lv2空間には "64""63" までしか無いはず。
そっちかよ・・・。