iPhone 用のランプシェードをつくろうというワークショップとデザイナとのコラボレーションのために「波のランプシェード」のモデルをつくり,それを実現する Python プログラムと Web インタフェース (CGI) とをつくった. 波のモデルについてはワークショップの報告にすこしだけ書いたが,まだどこにもちゃんと書いていない. ここではそれをもうすこしきちんと書いてみたい.
波のモデルの目的は,さまざまな波を自由に合成できるようにして,さまざまなかたちの波模様がつけられたランプシェードがつくれるようにすることだ. 波は線形合成するので,非線形のかたちはつくれない.3D 印刷ではフラクタルのような非線形のかたちがしばしばつかわれているが,波のモデルではそういうかたちはつくれない. しかし,線形合成だけでも多様なかたちをつくることができる.
これまでも中空球の表面に三角関数で模様をえがいてきた. 模様につけかたには半径方向に凹凸をつける方法とフィラメントの断面積をかえる方法の 2 つがあった. また,これまでもヘッドを三角関数で上下にすこしゆらしながら (“ヴィブラート” をかけて*) 印刷してきた. これら 3 種類の方法をより自由に制御できるようにし,それぞれ横方向の波と縦方向の波を指定できるようにした (これまで「縦方向の波」はかんがえていなかった, 2020-3-5 用語訂正). こうやって確立した「3 種類の波をつかった 3D らせん印刷」によって,さまざまな模様をえがくことができるようになった.
* 「ヴィブラート」のかわりに「スイング」ということばをつかったこともある.
横方向の波は波頭が縦にそろっている (下の写真の左上).また,縦方向の波は波頭が横にそろっている (左下). これらを合成するとななめ方向の波 (波頭がななめにそろう波) をつくることができる (右の列). これは凹凸による波だが,断面積による波でもこれらの方向の波をつくることができる. ただし,凹凸による縦方向の波は振幅がおおきいと球のかたちをなさなくなるし,そうでなくても球の強度をよわめがちだ. また,断面積による波も振幅がおおきいとフィラメントのあいだにすきまができてしまうし,フィラメントがあまる場合もでてくる. 断面積を負にできないことはあきらかだ. なお,写真の中央の列は縦方向の波と横方向の波をあわせたものと,2 種類のななめ方向の波をあわせたものだ.
ヴィブラートによる (ヘッドを上下に波うたせることでできる) 波は,上下のフィラメントに直接影響するので,うまく制御しないと球のかたちがくずれてしまう.ヘッドが印刷ずみのフィラメントをじゃましないためには横方向の波の振幅をちいさくする必要がある.また,縦方向の波はフィラメントのピッチを緯度によって変化させるので,その振幅は非常にちいさくする必要がある.
縦方向の波の周期は自由に選択することができるが,横方向の波は 1 周したところでもとにもどらなければならない (定在波でなければならない) ので,周期は整数でなければならない.
追記 (2020-11-25): 「波のモデル」ということばは漠然としすぎているので,「波合成モデル」とよぶことにした.