「架空の折り紙作品」

 

折紙探偵団マガジン152号に掲載されたヒツジの創作記事について、実はスペースの都合で削った項目があります。記事の内容は、先に完成の形を決めて、それを目指して創作する方法というようなものなのですが、最後に以下のような内容を用意していました。

 


気がついた方もいるかもしれませんが、この創作手順は「架空の作品をにらみ折りする」と言い換える事が出来ます。さらに考えてみると、架空の作品の形を考える作業とそれを実際に折る作業は、実は同じ人間が行う必然性はありません。理屈の上では分業体制での創作もできそうです。実際に、折り紙をモチーフとしたロゴや、漫画などに登場する架空の作品を、にらみ折りして再現したというケースもあります。創作体制として分業や、「架空の折り紙作品」は作品として認められるのかなど、いろいろ考えてみると面白いかもしれません。


 

まあ実際にどういった形になるかはいろいろな可能性がありますが、例えば人間が形を決めて、それをプログラムで再現するというのは不可能ではなさそうです。これも一種の分業ではあります。折り紙の創作は「形」と「構造」、そして「手順」が不可分なのか、それとも完全に切り分けることが可能なのか。誰か試してみませんか?

※画像は折紙探偵団マガジン152号より。試作の際の脳内完成イメージ。これは構造まで考えて描いたものなので再現性は異常に高い。



線を短くするスクリプト

選択されたポイントがパスの起点か終点の場合のみ、2pt分短くするスクリプト。紙のフチから折り筋線を少し離す時に使えます。こういう作業を一括処理できるのが、スクリプトの良いところ。

以下仕様と注意点など。

  • 処理としては、オブジェクトの起点と終点のポイントを選択されているか判定して、それぞれ2番目のポイントの方向へ移動させています。
  • 最初は選択されたポイントを判定していけば出来るのでは?と考えたのだけれど、判定方法に悩んだ結果、結局上記の順番になっています。
  • 実際のコードについては、素人目で見てもかなり酷い。とりあえずポイント移動の座標計算で起点・終点で同じ事をしているので、切り離して関数化した方がよさそう。
  • ベジェ曲線には未対応。ハンドルが消えるので注意。
  • 短すぎる際の処理についても未対応なので、多分反対側に飛び出す。

cutline.zip


inkscapeでの変換しやすいデータの作り方、もしくは折り図を投稿する際のガイドライン。

という事で、変換の際にエラーの少ない/変換しやすい折り図の書き方tips集。

折り図集などに投稿するための折り図を用意する際や、AIを買ったあとinkscapeで描いた折り図を変換したい場合などに便利かと思います。

  • マスクではなく切り抜きを使おう
  • 切り抜きはグループ化をしてから
  • 半透明グラデは避ける
  • やり取りは結局PDFがベター。PDFと相性の良いデータを目指そう

とりあえず思いついた、上記の項目について書きます。本文中の略称はAI=Adobe Illustrator、FH=FreeHandです。

・切り抜き奨励、マスクは非奨励。

拡大図などで、枠内のみを表示させるような時に使われます。この二つの機能、画面上の結果はあまり変わらないのですが、書き出しや変換の際に大きな差が出ます。

切り抜きの場合:内部のデータが枠の形に「切り抜き」されます。データの状態として、FH的には枠の中に貼付けるような形になります。PDFでもAIの切り抜き状態で書き出されるようです。

マスクの場合:枠外を見えない(マスク)状態にします。イメージとしては、枠外を覆い隠しているような形です。で、これがPDFに書き出した際にどうなるかというと、マスクごとに画面全体を覆うようなオブジェクトが作成され、そこに空いている穴の部分のみがレンダリングされているというようなデータになります。さらに言えば、このマスク用のオブジェクトはラスターデータです。画面全体を覆っているため何より編集しづらい。

という事で結論。マスクである必然性がなければ、切り抜きを使おう。

※マスクの必然性。当然ラスタ画像データや、半透グラデでマスクしたい場合とかはマスクでなければいけないはず。

・切り抜きはグループ化した後に。

切り抜きをする場合は、まとめてグループ化してから切り抜きを行いましょう。

inkscapeの仕様だと思うのですが、切り抜きをしないと「オブジェクトごと」に切り抜きされます。グループ化されていないたくさんのオブジェクトにまとめて切り抜きを行った場合、オブジェクトの数だけ切り抜き枠が作成され、そのまま何十もの切り抜きが重なった状態になります。レンダリングが無駄に重くなり、データとしても修正や編集もしづらいので、メリットは全くありません。本当に百害あって一利無し。

※この仕様の有効な使い方……各図をそれぞれグループ化、同じ位置に重ねて、一気に切り抜きができる。その後動かしてレイアウトしていく。あ、これは便利かもしれない。試してないけど。

・半透明グラデーションは非奨励。

これは単純に、書き出しなどの際の互換性が低いのです。グラデーション以外でも、半透明オブジェクトのコンバートは、上手くいかないケースが多いので、可能であれば使わない方が無難です。

とりあえず半透明グラデに関しては、PDF書き出しの段階でグラデ属性が消える、またそのPDFをそのまま読み込むとオブジェクトが消えてしまう事を確認しています。

PDFへの書き出しと互換性が原因なので、バージョンアップで解決される可能性は十分ありますが、現段階ではなるべく使わない方がよさそうです。

・SVGはPDF書き出しして読み込む。

AIを導入し、これまでinkscapeで描いたデータを読み込んでみたら酷い状態だったという経験はないでしょうか?

これはAI側の問題かもしれませんが、矢印が消えたり、線の太さが酷い状態になります。後者はおそらくはtransform属性が上手く読み込めていないのではないかと思いますが。(ちなみに手持ちの環境のAI-CS5でそのまま読み込んだ場合です。)

回避方法としては、inkscapeからまずはPDF形式で書き出し、それをAIで読み込むのが比較的安全です。データの作り方次第ですが、inkscapeのバージョンアップに伴って読み込んだデータも使いやすくなっているようです。

グループ化などは死にますが、必要経費と思って諦めましょう。

※ちなみに、読み込めないPDFについては、「MacOSのプレビューで開きPDFで保存し直す→AIで開く」でどうにかなる場合もあります。ただしデータは酷い状態になりますが……


つなぎ鶴星人

「People from outer space」

原作・笹出晋司さん。つなぎ案・神谷。

小さいツル星人は、頭の向きを合わせて2重に重ねて折る。

実際に試していないけれど多分いけると思う。普通の鶴でも多分出来る。誰か折って。


アルドゥインの構造と領域の追加

アルドゥインは、「 シンプルな形を折り出し、複雑な仕上げを行う」という方針で創られています。これは外見だけではなく、構造でも同様の方針を取っています。創作手順を簡単に追って見ていきます。

とりあえず頭部は正方形のカドから折り出すことにします。また、ツノや顎などはカドの外側にスペースを追加して折り出す方法がよさそうです。簡単な構造で必要なカドを揃える事が出来ました。

頭部とその周りの全体の構造については、頭部と翼に同じ大きさのカドを割り当てられそうです。つまり鶴の基本形でOK。中心のカドも、胴のトゲ等に利用できそうです。

全体の構造はいくつか候補が考えられますが、とりあえず最もシンプルなものを採用します。

……あまりにも普通の構造で、これでいいのかと思うかもしれませんが、カドの出る位置は悪くないし、わざわざ必要以上に複雑にする意味はありません。昔『をる』誌上で前川さんも言っていましたが、構造がシンプルなのは歓迎すべき事で、わざわざ複雑にしなければいけないのではと気にするのはおかしい。

※領域の追加を前提とした場合、基礎の構造を選ぶ時には、カドの大きさより出ている位置を優先します。カドの大きさは領域の追加でいくらでも調整可能です。

これを基礎として、必要に応じて領域を追加していきます。ここはいろいろな要素が絡むので結果から。

一気に説明します。基礎構造(白)に、まずは頭部の折り出し用の領域を追加(赤)。 足の指と尾の装飾用に反対側にも追加(黄)。そして翼が少し小さいので、中心をぶった切ってさらに領域を追加します(青)。なおこの部分は、脚の装飾や翼の爪の折り出しにも利用しています。

※気がついた方もいるかもしれませんが、この3回の領域の追加は、すべて同じ幅になっています。このおかげて翼の爪部分をきれいに折り出す事が出来ます。また、比率も分かりやすくなります。

これで十分なカドは出そろいました。あとは仕上げればできあがりです。

 

 


数字を加算するスクリプト

選択されたテキストを数値として取得し、1を加算・減算して返すだけのスクリプト。

要するに図番号用で、図が一つ増えたり減ったりした時、その後の数字をずらすのに使えます。

例によってエラー処理などなにもしていません。parseIntのみで強引に整数化しているので、例えば「15a」の「a」は消えてしまいます。また、数値以外で始まるテキストが含まれていると、NaNを返します。

ORZnumber


第2回菊池寛実賞 工芸の現在

折り紙とはあまり関係ない話。

うちの妹、神谷麻穂は陶芸作家をしていまして、丁度この週末より、菊池寛実記念智美術館にて展示が行われています。折り紙とはあまり関係はありませんが、興味のある方は、是非ご覧ください。

第2回菊池寛実賞 工芸の現在

12月17日(土)~ 2017年3月20日(月・祝)
菊池寛実記念 智美術館

http://www.musee-tomo.or.jp/exhibition.html

※余談ですが、昨年、北陸先端科学技術大学院大学で行われたイベントが北陸中日新聞popressで紹介された際に、偶然にも妹の作品が表紙になっていました。お持ちの方は見直して見て下さいね。


同じ種類の鎖線を選択するスクリプト

同じ種類の鎖線を選択するだけのスクリプト。特定の鎖線、たとえば山折り線だけを選択したいときなどに使えます。

見て分かるとおり、エラー処理などは全くしていないので、使用ついては自己責任でお願いします。

スクリプトファイル:SelectSameDashes

RunSclipt = confirm (“選択されたオブジェクトと同じ鎖線を、選択状態にします。\nスクリプトを実行しますか”);

if (RunSclipt == true){

     ORZsel = activeDocument.selection;

     ORZlinedashes = “”+ORZsel[0].strokeDashes;

     ORZobj = activeDocument.pathItems;

     for (i=0; i<ORZobj.length; i++){

          if( ORZobj[ i ].strokeDashes == ORZlinedashes ){

               ORZobj[ i ].selected = true;

          }

     }

}


Adobe Illustratorでスクリプトを動かす

Illustratorでは、JavaScriptなどで書いたスクリプトを動かすことができます。これによって、メニューやアクションでは出来ないようなことを、簡単に行う事が出来るようになります。

幸いプログラムに関しては、昔BASICやHyperCardで遊んでいたこともあり、簡単なものであれば書いたり改造もできます。

ということで、実際に使ってみるととても便利で、作業によってはスクリプト無しは考えられないというくらい手放せなくなりました。特に判定が必要な自動化については、アクションの機能だけでは実装が難しいため、スクリプトが使えるかどうかで出来る事がまったく変わってきます。

Illustratorで折り図を描いていて、かつ簡単なプログラムが出来る人は、導入を検討してみてはいかがでしょうか?

ツールや資料など。

「ScriptKeyAi」

http://tama-san.com/scriptkey/

ショートカットからスクリプトを起動するサポートソフトウェア。とても便利。特に何種類かのスクリプトを何度も実行するような場合には必須。アイコンもかわいいですね。

Illustrator自動化基本編

参考書。スクリプト例文集。著者はMZ-700ユーザーにはおなじみの古籏一浩氏。サイトにも異常な量の情報があふれています。

http://www.openspc2.org/

余談ですが、古籏氏とMZ-700から生まれた「MZ-700に不可能はない」という言葉は、私にとっての座右の銘的な言葉の一つです。