WISS 2020

立体万華鏡のためのデザイン支援システム
本間 梨々花*越後 宏紀*

五十嵐 悠紀*概要．立体万華鏡とは，立体を形成する面が鏡面であり，いわゆる三角柱型の万華鏡とは違い，模様が三次元空間に広がるタイプの万華鏡である．元となる模様が同じであっても，立体の形状によって映し出される模様は大きく異なる．本稿では，立体の中でも正多面体に注目し，正多面体から成る立体万華鏡の模様のデザインを支援するシステムを提案する．ユーザがシステム内で模様をデザインすると立体万華鏡でどのように見えるかシミュレーションをリアルタイムに行う．これまでは納得のいく模様ができるまで試作品を何度も作らなければならなかったが，三次元空間に映し出される模様をデザイン中にシミュレートすることで，試行錯誤をシステム内で完結して満足するデザインができてから制作をすることが可能になる．

1

はじめに

万華鏡とは，鏡と筒を組み合わせてお互いの両隣の鏡の反射を利用した仕組みを用いることで，中に入っているものの美しい模様を映し出す工芸品である．
小さい子から大人まで親しまれている万華鏡は，制作キットなどを利用することで初心者でも簡単に手作りすることができるが，映し出される模様を想像しながら制作することは困難であり，どのような模様が描かれるかをあらかじめ検討するというよりは，図 1 のように同じ万華鏡でも回転させることで映し出される模様を楽しむことに使われる．
よく知られている万華鏡は 1816 年に DavidBrewster によって考案された平面充填する万華鏡であり，これを満たす三角形の構造は 3 種類しかないことが示されている[1, 2]．これに対して，ヤマザ
キ ミ ノ リ 氏 に よ っ て 1974 年 に 考 案 さ れ た
CUMOS[3]は空間充填の万華鏡であり，空間を埋め尽くすような幾何学模様が描かれることが特徴である．
本稿では，この空間充填の立体万華鏡に対する模様のシミュレーションを行うことができるデザインシステムを提案する．ユーザがシステム内で模様をデザインすると立体万華鏡を制作したあとにどのように見えるのかをシミュレーションしてユーザに提示する．
これにより実際に万華鏡を組み立てる前に，映し出される模様がどのようなものになるか知ることができ，ユーザは希望に合わせた納得のいく作品ができるまでシステム内で試行錯誤してデザインを検討することが可能になる(図 2)．
Copyright is held by the author(s). This paper isnonrefereed and non-archival. Hence it may later
appear in any journals, conferences, symposia, etc.
* 明治大学図 1 同じ万華鏡でも回転させることで映し出される模様は変化する．

図 2 本システムを用いてデザインした立体万華鏡．

2

関連研究

万華鏡のような幾何学模様を描くソフトウェアに，ibisPaint X アプリ[4]がある．これは回転式対称定規を使って万華鏡のような幾何学模様を簡単に作成することができる．万華鏡タイル[5]では万華鏡の原理を使って，平面や滑らかな球面を対象としてタイル貼りしたものを描くもので，モザイク模様を描きながら対称性や連続的な動きを楽しむことができる．
万華鏡カメラ『PrismScope』[6]では，カメラからの映像をリアルタイムで万華鏡のように映し出すことができる．望月のデジタル万華鏡[7]ではフラクタル画像解析を芸術分野に利用している．また東藤ら[8]WISS 2020

は Web カメラで取り込んだ映像をリアルタイムで万華鏡表示にするシステムを実現した．本稿では，立体万華鏡を制作するにあたり，リアルタイムな三次元空間での万華鏡表示を行うことで，ユーザの希望に沿ったデザインが行える可能性を示す．
そのほか，工作を題材としたものに，編み物[9]やビーズ[10]など設計および制作工程を支援するものが提案されている．しかし，編み物やビーズなどのような制作工程を間違えたときに後戻りが可能である手芸品とは異なり，立体万華鏡では鏡面に一度傷を付けると修正ができないという特徴がある．このような特徴を有するものとして木目込み細工の設計支援システム[11]が提案されている．このシステム
では，木目込み細工を行った再現画像を確認しながらスケッチインタフェースを用いてデザインを描く
ことで，完成系をイメージしながらデザイン制作を行うことができる．また，3D プリンタを用いて，デザインした型を出力することで，型を制作するという難しい工程を支援している．本システムでもシス
テム内であらかじめシミュレーションを適用することで満足したデザインになったことを確認したあと，鏡を削るという方針でユーザの立体万華鏡設計を支援していく．

3

図 3 ラビリンスボックスを制作する過程．

立体万華鏡の作り方

3.1 ラビリンスボックスとは
CUMOS[3]が様々な雑誌での掲載や複数の個展や企画展での紹介を経ていく中でワークショップタイプの立方体万華鏡が確立されてきた．立方体万華
鏡は，ワークショップを中心にラビリンスボックス[12]と呼ばれており，ポリカーボネイトミラーを鏡面として使用することで作成されている．
ラビリンスボックスを制作する過程は図 3 に示したように以下の工程からなる；① ポリカーボネイトミラー板を面の数だけカットする．
② 模様の下書きをする．
③ アクリルカッターで下書き部分を削る．
④ 覗き穴のため，角をカットする．
⑤ アクリルカッターの背を用いて鏡面のバリ取りをする．
⑥ 模様のある鏡面を透明なビニールテープで貼り合わせ，折り返すことで光軸となる隙間を作る．
⑦ 覗き穴を構成する鏡面を不透明なビニールテープで貼り合わせる．
⑧ ⑥，⑦で余った辺を貼り合わせ，写真のように組み立てる．
⑨ 内側のミラーの保護シートを剥がす．
⑩ ⑧を不透明ビニールテープで組み合わせて完成．

図 4 正四面体の覗き穴．
3.2 正多面体への応用
本システムでは，ラビリンスボックスのような立方体の万華鏡だけではなく，他の正多面体の立体万華鏡のデザイン支援も行う．正多面体の立体万華鏡は，3.1 節で述べたラビリンスボックスの制作過程と同様の過程で制作でき，ポリカ―ボネイトミラー板の面の数を変更するのみである．ただし，正四面体の場合，④の覗き穴を作成する工程において鏡面をくり抜く形で覗き穴を作成する（図 4）．これは，覗き穴から万華鏡を覗いた際，注視点となる箇所が頂点になるようにすることで，綺麗な模様が映し出されるためである．
前章でも述べたように，立方体万華鏡は③の工程で鏡面に傷をつけてしまうため制作のやり直しが効立体万華鏡のためのデザイン支援システム

図 5 デザイン制作の流れ．
かない．また，立方体であっても制作に 1 時間程度時間がかかるため，制作前に映し出される模様を知ることができれば便利であると考えた．これを踏まえて本システムでは，完成した万華鏡の内側に広がる模様を希望の形に近づけるため，ユーザが工程の②，③でつける模様のデザイン支援を行う．

4

提案システム4.1 提案システムを使ったデザイン制作の流れ
本システムは Processing を用いて実装した．一連の流れを図 5 に示す．
ユーザは，まず方眼上のキャンバスにドット絵を描くように模様のデザインを作成する．また，ユーザの必要なタイミングでキー操作を行うことで，キャンバスに描いてある模様を鏡面としたときの見え方を確認することができる．キャンバスとシミュレーション結果は一つの画面で確認できるため，シミュレーション結果を確認した上で，模様を追加することが可能である．
シミュレーションは 2 段階に分かれており，数秒から数十秒で確認できる簡易的な段階と，数分かけて詳細なシミュレーション結果を表示する段階がある．模様をデザインする際，キャンバスでは 1 面分のみをデザインしているため，鏡面にしたときの結果を想像しながら制作するのは困難である．そのため，簡易的なシミュレーション結果を見ながらキャンバスに模様を書き足していくことで，徐々に模様を形作っていくことを期待している．
簡易的なシミュレーション結果で納得のいくデザインを描き終えたら，キー操作を行うことで，ユーザはより詳細なシミュレーション結果を得ることができる．シミュレーションのアルゴリズムについては 5 章で述べるが，簡易的な段階より再帰回数を増やしているため，より完成の状況に近いシミュレーション結果を見て，ユーザが修正の検討をすることが可能である．

4.2 正多面体のデザイン
図 5 は立方体の立体万華鏡についてのシミュレーション結果であるが、本システムでは立方体の他に，正四面体，正八面体，正十二面体，正二十面体といった全正多面体 5 種類の万華鏡表示をシミュレーションすることができる．多面体によって面形状が異なるため，キャンバスの形とそれに合わせてキャンバスに敷き詰める図形を変えている．正四面体，正八面体，正二十面体の面形状は正三角形であるため，キャンバスは正三角形を敷き詰めている（図 6）．一方，正十二面体の面形状は正五角形であり，キャンバスに敷き詰めることが不可能であるため，ひし形をベースに対角線を引いた三角形で対応している（図 7）．

図 6 正三角形のキャンバス．

図 7 正五角形のキャンバス．

WISS 2020

5アルゴリズム

本システムは，鏡面のデザインを行うキャンバスと，シミュレーション結果を表示する 2 つのウィンドウから成る．模様のシミュレーション方法とリアルタイム性向上のための工夫について述べる．
5.1 模様のシミュレーション方法
本システムは，レイトレーシング1を用いて完全鏡面反射を模倣することで，模様のシミュレーションを行っている．まず，正多面体の各面を完全鏡面反射するものとした．鏡面に付ける模様は，描いたデザインに合わせて，数多の三角形を鏡面から立体の内側に向けて，微小な値を離した位置に配置することで表現している．また実物では，鏡面に付けた傷から光が入ることで，立体内部の明るさが保たれているが，本システムでは，点光源を立体の中心に配置することで対応している．そのため，ユーザが描いた線に位置している図形（キャンバスを敷き詰めている図形のうち，塗りつぶされたもの）を万華鏡内部に配置することで，デザインした模様を表現している．さらに，模様を付ける面同士が接する辺から生まれる光軸は，あらかじめ実物で光が入り込むための隙間（図 3 の⑥で作る隙間）と同じ大きさのオブジェクトを配置することで表現している．これ
らに伴い，付影処理の実装は行っていない．
視点と注視点の位置を図 8 のように定めた．すべての正多面体に対して，模様を付けるすべての面が接する点を注視点とし，この注視点と立体の中心を結ぶ直線が注視点以外で再び立体と交わる点を視点とした．視点は，立体万華鏡の覗き穴となる．
また立体万華鏡は，完全鏡面反射する物体が向かい合わせとなる構造でもあり，レイトレーシングを行う関数の再帰回数を設定する必要がある．本シス
テムでは，模様のシミュレーションを 2 段階で行うため，それぞれの段階で適した回数に設定した．1 段階目では，シミュレーションのリアルタイム性を重要視した簡易シミュレーションであり，再帰回数は1 回とした．2 段階目の詳細なシミュレーションでは，リアルタイム性と実物の見た目に似せることのバランスをとるため，再帰回数は 4 回とした．
模様の位置は，キャンバスに敷き詰めている各々の図形に 2 次元配列を与えることで保存している．
また， 1 つの万華鏡において全面同じであることを前提としているため，1 面目以外は，注視点を回転の中心として 1 面目の配置座標を回転移動させた．

1

図 8 各正多面体の視点と注視点．
5.2 リアルタイム性向上のための工夫
本システムでは，模様の試行錯誤を簡単に繰り返すことができるようにするため，シミュレーションにかかる時間を短縮することが求められる．そのため，我々はレンダリングを 2 段階で行えるようにした．1 段階目は，リアルタイム性の追求を目的とし，模様のシミュレーションを短時間で繰り返すことができる環境を提供する．2 段階目では，より詳細で正確なシミュレーション結果を表示することを目的とし，ユーザの最終的な意思決定に役立つことを期待する．
具体的に，1 段階目では，再帰回数を 1 回に設定することに加え，詳細シミュレーションで設定している参照数の 1/9 に減らしている．そのため，シミュレーション結果は粗く表示されるものの，鏡面反射の概観を把握でき，描画時間を数秒から数十秒でシミュレーションすることを可能にしている．2 段階目では，再帰回数を 4 回に設定しているため，描画時間が数分程度になっている．
また，キー操作が行われた後にシミュレーションが行われるようにすることで，シーンに置く物体を保管するリストに必要以上の物体が追加されることを避けた．1 段階目のシミュレーションを繰り返す場合でも，余計な計算を省くため，新しくキャンバスで描かれた模様に位置する図形のみを新たにリストに追加するようにした．

6

結果

システムを用いてデザインした結果を実際に制作した立体万華鏡の模様と共に図 9 に示す．図 9 において，(a) キャンバス画面，(b) 簡易的なシミュレーション結果，(c) 詳細なシミュレーション結果，(d)光線を追跡することで，写実的な 3DCG を生成する手法．

立体万華鏡のためのデザイン支援システム完成した立体万華鏡で視点からみた様子，をそれぞれ表している．
制作した立体万華鏡の外形は図 10 に示す．
図 9 のデザイン例では，規則的な幾何学模様の制作を目指したため，直線を用いる必要があった．しかし，ノートパソコンのタッチパッド上で，フリーハンドで直線を描くことは困難であった．また，塗りつぶす図形のサイズが小さく，多少の操作のずれで隣の図形を塗りつぶしてしまうという問題が発生した．一方で，システムを用いた模様のシミュレーション結果と，実際に作成した模様の見え方に大きな差は見られなかった．

図 10 実際に制作した立体万華鏡．

図 11 模様を描くことができない部分．

7

図 9 各正多面体のデザイン結果．

まとめと今後の課題

我々は立体万華鏡制作のためのデザイン支援システムを提案した．本システムを用いることにより，制作過程の後戻りができないことに加え，制作に時間がかかるという特徴を持つ立体万華鏡の試行錯誤を容易にすることができる．また，試行錯誤が容易になることで，ユーザの希望に合わせた納得のいく作品を作るための手助けともなり得る．
今後の課題としては，まずユーザインタフェースの再検討を行いたい．前章でも述べたように，直線を描くことが困難であることや，操作がずれてしまって思い通りの制作ができないことなど，模様のデザインを行う際のユーザインタフェースが不十分である．カッターで傷を付ける範囲に関しては，塗りつぶされた面積が多いほど削ることが困難となる．
塗りつぶす図形のサイズはカッターで傷を付ける範囲に直接関係するため，定規機能の追加で補完する必要がある．また，塗りつぶしの面積が一定の値を超えた場合にアラートを出すなど，制作過程での負担にも目を向けた機能の追加が必要となる．
次に，万華鏡を組み立てる際に，図 11 のように傷を付けることのできる面の一部が不透明なビニールテープでふさがれてしまうことで，傷を付けても光を通さない部分ができてしまうような事情をシステ
ム内にも適応する必要がある．これはキャンバス上で，描画不可能部分とするといった対策を予定している．

WISS 2020

今回は正多面体の立体万華鏡の制作に取り組んだ．
正多面体を扱った理由として，空間充填するものとしないものがあること，面の形状がすべて同じであり制作しやすいこと，キャンバスに同じデザインをしても，面の数によって完成した万華鏡の見え方が違うことなどがあげられる．今後，切頂八面体やひし形十二面体といった空間充填の立体や，ユーザが自由に想像した立体で制作できるようなシステムにしていきたい．

参考文献[1] 山見浩司．万華鏡大全．誠文堂新光社，2016．
[2] Brewster, David (1858). The Kaleidoscope: Its
History,Theory,andConstruction

withits

Application to the Fine and Useful Arts (2 ed.). J.
Murray.
[3] CUMOS. http://cumos.jp/index.html (2020/09/30 確認)[4] ibisPaint X(アイビスペイント) .
https://apps.apple.com/jp/app/ibis-paintx/id450722833?ign-mpt=uo%3D8&l=en ,(2020/09/30 確認)[5] 万華鏡タイル(KaleidoTIle)．
http://www.geometrygames.org/KaleidoTile/index.
html （2020/09/30 確認）[6] 万華鏡カメラ『PrismScope』

https://apps.apple.com/jp/app/wan-huajingkamera-prismscope/id513652520?mt=8(2020/11/9 確認)[7] 望月茂徳. デジタル万華鏡. 日本ソフトウェア科学会第 22 回大会講演論文集, pp. 1-5, 2005[8] 東藤絵美，馬場哲晃，串山久美子．Web カメラを利用した万華鏡映像ツールの提案．情報処理学会シン
ポジウム論文集（インタラクション 2011），pp. 727728．
[9] 五十嵐 悠紀, 五十嵐 健夫，鈴木 宏正. あみぐるみのための 3 次元モデリングと製作支援インタフェー
ス. 日本ソフトウェア科学会論文誌 『コンピュータソフトウェア』Vol.26, No.1, pp. 51-58, 2009.
[10] Yuki Igarashi, Takeo Igarashi and Jun Mitani.
Beady:

Interactive

Beadwork

DesignandConstruction. ACM Transactions on Graphics 31(4),Article No. 49, 2012.
[11] 伊藤謙祐，五十嵐悠紀．木目込み細工デザイン支援システム．画像電子学会論文誌 Vol.49, No.4, pp.315325, 2020．
[12] 東芝未来科学館体験イベント（ラビリンスボックス）.
https://toshiba-mirai-kagakukan.jp/event/event/detail/1260?eventid=1260 , (2020/09/30

確認).