立方体を斜めに編む(再び)






過去の表紙30過去の表紙32 で書いたことを思い出してください。
過去の表紙30では 立方体の表面に線分を書いて
その線にそってすすむ帯を上下交互に通るように編むことで
「立方体を斜めに編む」と題したのでした。

さて、そこでは 立方体の辺を2n等分して
頂点から辺の長さの1/(2n)、 3/(2n)、 5/(2n)、、、、 (2n-1)/2n、 進んだところにある
等分点を、対辺同士 1つずらして むすぶことで 格子模様を
立方体の表面につくったのでした。
たとえばn=3の場合が



であり、n=2の場合が



です。これで帯を編むと 一つの辺を帯が1方向にn本またぐようになって、
それらが1つずれて対辺に抜けていきます。

さて、ここで1つの辺を n本の帯がまたぐようにして、
対辺とk個ずれて抜けていくようにしたらどうなるでしょう?
この一般化を考えてみます。

1つの帯をn本の帯がまたいでいて、対辺にk本ずれて抜けていく編み方を
(k/n)の斜め編みということにしましょう。(ただし k<n)

例えば(3/4)、(2/5)、(3/5)の斜め編みについて
立方体のひとつの面のうえの帯のつながり具合いは次のようになります。

 3/4の斜め編み
 2/5の斜め編み
 3/5の斜め編み

これで編むとどうなるでしょう?CGで帯の進む道筋を描いてみました。
つぎの画像はそれぞれ 2/4,3/4,2/5,3/5の斜め編みの
1つの帯の進む道筋です。




これにそって編むと何本必要なのか、考えてみると次のようになりました。




それぞれ12本、3本、3本、4本です。今回は12本のパターンが現れました。
一般に(k/n)の斜め編みだと 何本の帯になるのか?
1本の帯となるような(k/n)もあるのか?
かなり難しそうです。



(03.10.30 追記)

その後、某MLで知り合った「かわかみ」さんからメールを頂き、
何通かのメールのやり取りなかで、
nとkが互いに素のとき、 帯の数は3、4、6、12のいずれかになる
ことが証明されました。
また、nとkの最大公約数がdのときは 帯の数は 3d、4d、6d、12dのいずれかになる
ことも証明されました。
いずれ詳しく書きたいのですが、書くネタが たまってきたので
とりあえず ここに報告しておきます。




上記の帯の道筋を生成するPOVファイルをつくりましたので、
置いておきます。実験用にどうぞ。
このPOVファイルで、1つの帯の道筋はKとNの値から自動生成されますが、
何本の帯が必要になるか等はわかりません。
また、複数の帯を配置させるためのパラメータloopsは不完全です。
とりあえずはloops=1で レンダリングするといいかと。
というか、たぶん(k/n)の斜め編みにおいて、 kとnが互いに素でないときは
一般に帯の道筋の種類も複数になると思います。
そういうことには対応していません。

POVファイル
たとえば N=17,K=1,2,3,4..でloops=1を試してみてくださいな。
N=17,K=9、loop=4なんてのも綺麗です。

もどる。