おたくのテクノ

ピアノ男(notピアノ弾き)のブログ

自分の指紋を綺麗に2値画像化する

自分の指紋を綺麗に画像データにする必要があって、いくつか試してみた。あくまでも自分の指紋を綺麗に取ることが目的なので、犯罪捜査のように何かに付着した指紋を採取するというものではない。

 

結論から言えば、

  1. 指腹を鉛筆で塗る
  2. セロファンテープに塗った指を押さえつける
  3. セロファンに黒い指紋が残るので、白紙に貼る
  4. スキャンする

現状これが安価で簡単ですぐできる手法だと思う。スキャンした画像がこちら↓

f:id:oldskoolrave:20181029231204p:plain

セキュリティの観点からこれぐらいしかお見せできないが、いや昨今はこれぐらいでも危ないかもしれないが、どこが面に接しててどこが接してないかがハッキリ分かる。拡大して見てみると

f:id:oldskoolrave:20181029231550p:plain

黒い隆線の中にポツポツと白い丸があるのが分かるだろうか。おそらく汗腺だと思う。汗腺じゃないかもしれないけど。

f:id:oldskoolrave:20181029230211p:plain

若干前処理をして、2値化するとこんな感じになる。このように2値化しておけば、アレソレが可能になる。

続きを読む

レーザーカッターとシリコーンで毛を作る試み(1)

毛の手触り

私が最近集めているものの一つに、「毛」と呼ばれる人形がある。

f:id:oldskoolrave:20181017170513j:plain
かわいい❤️机は汚い❤️

ぬいぐるみ屋さんの光線さんという方によるハンドメイドのぬいぐるみだ。1ヶ月に1回ぐらいオンラインショップで販売されるのだが、この頃は非常に人気で、開店から1分で売り切れてしまうほどだ。

とてもシンプルな見た目をしているが、ポイントは「手触りがすごくいい」ところだ。このぬいぐるみが「手触り」を強く意識されていることは彼女のインタビュー記事からも伺える。

 

で、ここから下の文に出る「毛」はぬいぐるみではなく、一般的な毛を指す。

 

私はこの頃、触覚のテクスチャにやや過敏だ。周波数が高めのザラザラ感が特に苦手で、体調に影響が出たり何も集中できなくなったりする。一方でこのぬいぐるみシリーズはどれも毛の手触りが良く、特にKesalanPasalan(上の写真の白いやつ)はとてもふわふわで私のお気に入りだ。

一般に毛というのは手触りが良い場合が多いので、あらゆるモノに毛を移植して常に気持ちよくなりたい。ところが、私はお裁縫の経験が乏しい...なみ縫いしか分からない、いや、下手したらなみ縫いすら忘れているかもしれない。毛の生地を買っても、せいぜい長方形に切ってブックカバーと言い張るのがいいところだろう...

毛を自作したい

そんな私にも福音はないことはない。この頃は3Dプリンタで毛をプリントするという研究がMITや明大の研究室から発表されている。

vimeo.com

CillliaはMITのTangible Media Groupによる研究。光造形方式のレーザープリンタを使って高密度な毛をデザイン・プリントする手法が提案されている。毛並みを利用して移動方向を制御したりとか色々してるのがこの研究室らしい。アツイ!

www.youtube.com

こちらはFDM方式の3Dプリンタで毛をプリント。明治大学宮下研究室による研究。宮下先生が京都に講演にいらっしゃった時に触らせてもらったが、毛でした!

 

こういうのを見ると、やはり追実装してみるべきなのだが、メンドクサイ...メンドクサイとか思ってはいけないのだが、メンドクサイ...あとFDMの場合はRepRapベースの3Dプリンタがないと結構厄介。うちにはRepRapベースのがない。

 

どうせなら他のデジタルファブリケーション機器でも作れないだろうか?と考えた時に真っ先に思い浮かぶのはやはりレーザーカッターだ。レーザーカッターはかなり細かく切断・彫刻加工ができる。私はアクリル板やMDFの加工に頻繁に利用している。

 

ところで、私は最近研究でアクリル板に紋様を彫り、その紋様にシリコーンを流し込んで転写するということをよくやっている。これを利用して毛を作ることが出来ないだろうか、と思い立った。

 

おおまかな製法

f:id:oldskoolrave:20181017182000p:plain

1.アクリルに小さい穴をたくさん掘る。この小さい穴が後に毛となる。後述するが、掘る時のパワーなどといったパラメータを変えることで、毛の長さとか太さとかが変えられる。

f:id:oldskoolrave:20181017182125p:plain

2. 穴を彫り終えたら、穴にシリコーンを流し込むためにアクリルで枠を作る。穴が掘られたアクリルとアクリル枠はアクリサンデーで接着した。これを型とする。

f:id:oldskoolrave:20181017182916p:plain

3. 型にシリコーンを流し込む。穴にもシリコーンが浸透しないといけないので、脱泡するとか工夫が必要。

f:id:oldskoolrave:20181017183109p:plain

4. 固まったら型から抜く!気をつけて抜こう(気をつけようがないんだが)。

データの作成

データを作成する。今回使用するレーザーカッターは、Trotec Speedy 300だ。詳しい仕様はTrotec Webページに譲る。

www.troteclaser.com

 

自分がまずコントロールしたい毛の三要素は(1)太さ (2)高さ (3)密度 だ。この3パラメータが手触りにどう影響するのかを知りたい。また、レーザーパワーの強さと高さとの対応関係を取りたい。そこで、次のようなデータを作ることで、いわゆる「サンプル」をまずは作ることにした。

f:id:oldskoolrave:20181017184421p:plain

このデータは、一辺が20mmの区画を4x4作り、その中にそれぞれパラメータが異なる毛アレイを配置している。

横軸は毛の太さを想定していて、左から0.2, 0.4, 0.6, 0.8 (mm)と円の直径を変えている。

縦軸は毛の高さを想定している。Speedy300では、色ごとに彫刻の強さや速度などを変えることが可能だ。一番上のマゼンタから順に、5%、20%、40%、60%の出力で切っている。60%に留めているのは、そのぐらいに留めないと今回の設定では貫通してしまうからだ。

(3)密度 に関しては今回は行わなかったが、高さ・太さに関わるパラメータは変更せずに1区画内の毛の本数を単純に増減させたものをいくつか作ることを検討している。今回は、1区画内に20*20=400本ある。

レーザーカット

5mmの透明アクリル板に対してレーザー加工を行う。

ゆっくりめで彫刻を行ったので、30分ほどかかった。ちなみに、設定ミスでエアアシスト*1を一部忘れてしまい、ご迷惑をおかけしてしまった。申し訳ありませんでした。かなり落ち込みました。

f:id:oldskoolrave:20181017190053j:plain

彫刻中の様子。右下は一番太くてパワーが強いやつなのだが、やはりパワーが強い分、根元側が元データの直径より太くなってしまうのか、穴と穴が一部繋がってアクリル自体が毛っぽくなっている。手触りは...うまい例えを思い出せないが、クソ硬い人工芝?

f:id:oldskoolrave:20181017190714j:plain

枠をつけた。あと毛っぽくなってるとこはもはや穴になってしまったので、穴開けに失敗したアクリル板を下に貼って塞いだ。だからちょっとグラデーションが殊更に強調されてしまっている...。でも品質には関係ない。

シリコーン造形

当然ながら、アクリル板から剥がれなかったり、アクリルによって効果阻害が起きてしまうようなシリコーンではいけない。

今回はエングレービングジャパン社のHTV-2000という二液混合型シリコーンを用いた。

粘性が低めなのがポイント。アクリルに対して硬化阻害が起きずちゃんと分離することは確認済み。

型を流し込んだだけでは、ちゃんと毛穴に浸みていくか不安だったので、真空おひつを用いた真空脱泡も行った。これをすると、穴から泡が出ていく(=穴にシリコンが入っていく)のが見えた。

竹炭 丸型真空おひつ(新型ポンプ付)

竹炭 丸型真空おひつ(新型ポンプ付)

 

 本当はちゃんとした真空脱泡機の方が良いのだが...金がないので...。

あとは硬化を待つのみ。ここでTipsだが、このシリコーンは温度が高い環境であるほど硬化も早まる。ここで使えるのがヨーグルトメーカーだ。 

最大60度の温度を保つことができるし、容量もそこそこある。あと2000円を切っている 。60度というのがポイントで、この程度の温度ならば3Dプリンタで作った型にシリコンを流して...っていうことができるので良い。別にもっといい恒温器があればそれでもいいのだが...高いから...

 

結果

f:id:oldskoolrave:20181017194204j:plain

f:id:oldskoolrave:20181017192608j:plain

この通りだ。

正しく毛ができているか?

4Aは言うまでもない。毛の長さにばらつきが出てしまった区画は、2B・3A・4Bだ。考えられる原因は、

  1. 脱泡が十分でない
  2. 剥がす時に千切れてしまった

だろう。ただ、このシリコーンはかなり弾性があるし、千切れてる様子が目視できなかったので、1が大きな原因だろう。脱泡問題には大変頭を悩まされる。

あと4Cが、一部の毛同士がくっついてしまっている。硬化が十分でない時に少し触ってしまったので、それが原因だと思う。

他は概ね想定通りの造形となっている。

毛の長さについて

f:id:oldskoolrave:20181017200423j:plain

この通り。便宜上、それぞれの区画に数字とアルファベットでIDを割り振った。そして最小目盛間隔0.5mmの定規で測ったのでかなりアバウトだ、いずれ厳密に測り直す。

見てみると、パワーは同じでも、彫刻する穴の太さによって長さが変わっていることが分かる。穴が太いほど、その穴にレーザーを当てる回数も当然多くなるわけだから、直感的にそうなるだろうとは思える。

手触りについて

A列(0.8mm)について:

見た目、毛というよりはイボっぽい。手触りも3Aはイボって感じ。A2は若干イボっぽさよりは毛っぽさがある。A1はブツブツ。

B列(0.6mm)について:

B4は、もう毛だ。撫でるとちょっとヌメっとした摩擦を感じる。B3,B2も毛っぽい。歯ブラシの先端を触っているイメージ。ただヌメっとした摩擦を感じる。B1はブツブツ。市販の滑り止めゴムとかこんなんある。

C列(0.4mm)について:

C4は,毛だ。B列の時よりはヌメッとした感じが少ない。撫でた時の接触面積が少ないからだろうか?そして個人的にはC3が一番ボウズっぽい。C2,C1は毛っていう感じがしない、滑り止めゴム。

D列(0.2mm)について:

指腹でサラ〜っと撫でると歯ブラシっぽい感じはあるなと思う。D4〜D1になるにつれて歯ブラシっぽさが薄れていく気がする。

今後試すこと

一番の課題は、やはり穴にシリコーンが浸透しきらず毛が生成できない部分がある点だろう。この対策として、真空脱泡器を自作するか、ラボで買ってもらうかして脱泡能力を高めるのが一つ。あとは、PDMSといったより粘性の低いマテリアルを使うことだろう。ただPDMSは引張り強さに不安があるのと、アクリル板との相性をまだ確認していない。

あとは密度を試していない。ただ既に結構ギチギチな気がする、疎にした時にどうなるかを確かめたい。

最終的には、この毛のシリコン板でもっと複雑な形状の物体を作りたい。シリコーンは柔軟なので曲面への貼り付けが容易だ。あと同じシリコーン素材同士なら容易に接着できるので、シリコーン素材のフィギュアを作って、そいつに毛を移植するみたいなこともできる。グニャグニャのフィギュアを作ってどうするのって感じですが...

*1:粉塵の付着やレンズの破損防止のために圧搾空気を吹きかける機能。忘れるとヤバイことになる

ゲームを作らないUnity入門がほしい

最近はUnityが使える人を求めてる会社が多いっぽい。某社で面接を担当してくれた方も「Unityエンジニア求人の給料がガンガン上がってる」みたいな趣旨のことをいっていた。元々はゲーム開発エンジンなのだが、ゲーム以外の業種でも使われている事は、Unityをお使いの皆様だったらご存知なことだろう。

かく言う私はUnityにあまり興味がなくて、「どうせ皆Unityやってんだったら俺は違う事をやろう」という、あまのじゃくな態度でUnityをあえて避けていたのだが、このところ就職活動をしていると、求人だけでも

「歓迎:Unity開発経験あり」

「Unityエンジニア募集!」

「必須項目:Unity開発経験」

私が受けて落ちてきた会社も大体Unityが使える人を求めていたり、そもそも公用語C#にしていたりと、もはやUnityが使えない人は、人権がない場合が多いのである。

こういった事情もあるし、なんだかんだ使えた方が便利なのかもしれないとも思い、私はUnityを学ぶことにした。ところが、いざ入門しようとするとなんだ。

Unityで○日間でゲームを作る!!

Unityで簡単2D&3Dゲーム開発!!!

そもそもUnityはゲーム開発エンジンなので当然と言えば当然だ。Unityは元々ゲームを作る開発環境なのだから、ゲームを作らない入門って何なんだ。

ところが私はゲームを作りたいという気持ちに全くならない。もちろん一度ゲームを作ることで色んな応用が効かせられるということは直感的に分かる。だけどモチベーションが保てないのでゲームは全然作りたくないのだ。お願いします。ゲームを作らないUnity入門を誰か作ってください。

とはいっても、なかなかそれに答えた入門を出してくれる人がすぐに現れるとも思えないので、自分で探せる範囲で「ゲームを作らないUnityチュートリアル」を収集してみることにする。以下に随時追加していきます。

続きを読む

pngのアルファチャンネルの2値化(python)その1

Tシャツプリントのデータを入稿する時の話。

印刷方法によっては、アルファチャンネルが含まれている画像を入稿する際に、半透明な部分(不透明度1%〜99%)があると希望通りの仕上がりにならない場合があるGIMPとかだとアルファチャンネルを2階調化できるような機能があるようだが、Photoshopだとピンポイントでそういうのはなさげなので面倒。

Photoshopユーザなので、いちいちGIMPを入れるのも馬鹿らしい。そこで、Pythonとその画像処理ライブラリPIL/Pillowを使ってやる。

ソースは以下

pngのアルファチャンネルを2値化

getpixelすると、当該座標のRGBAがそれぞれ配列に格納される(Aなら4番目)。アルファ値が255未満ならRGBA全部ゼロのpixelに置き換える。それだけ。

単純に半透明なのを全部完全透明にしてるだけなので、アンチエイリアスを消す程度なら構わないが、例えば半透明で塗りつぶされたデザインだとガッツリ消えてマズい。閾値を変えるとかピクセル周辺の状況に合わせてアレするとかする必要がある。がめんどくさいのでその時が来たらやる。

あと、getpixel/putpixelはクソ時間がかかる。その点については高速で置換する方法を載せてる方がいる。

qiita.com

次回はこれを参考にやる。

枯山水とバーチャルリアリティ(05/20日記)

大徳寺に行った。ご家族に連れられて行ったので、どの塔頭に行ったかはあまり覚えてないが、3〜4ぐらいの塔頭を拝観した気がする。

ご本尊やら、建物の構造・建築やら、見所は多い。ただやはり見所は、禅宗特有の枯山水だろう*1

枯山水については何の前提知識もなかったのだが、寺の説明員(と言えばいいの?適切な言葉がわからない)が、大きな石や砂紋がどのような意図で配置されているのかを丁寧に説明いただいたので、「風情があるな」で終わることなく興味深く観ることができた。

塔頭ごとに、枯山水によって表現されている事物が様々あるのがまた面白い。ある塔頭の非常にこじんまりとした枯山水では、水が水面に落ちる様子を石と同心円状の砂紋で表現することで、曹源一滴水*2という禅語を表現していた。ある塔頭枯山水では、まだ入門したてで雑念にまみれた状態から涅槃の境地に達するまでの流れを、石の物量や上流から下流へ向かうような砂の流れで表現していた。

あるいは大海を表した庭園を縁側に座って眺めていると、自分の座っている縁側は大海の岸辺であるかのように錯覚させられる。

ところで、バーチャルリアリティ学会(の舘先生)は、バーチャルリアリティを次のように定義されている。

「みかけや形は原物そのものではないが,本質的あるいは効果としては現実であり原物であること」

(引用元:日本バーチャルリアリティ学会 » バーチャルリアリティとは)

ただただ山に行けば転がってそうな石や砂を、空間配置だけで現実の水滴や川に見せようとする様、それどころか禅の持つ世界観・仏教観に我々を没入させてくれる枯山水。約1000年前から存在する強烈なバーチャルリアリティだと私は捉えている。HMDを用いたバーチャルリアリティが盛り上がっている昨今、確かにHMDバーチャルリアリティ提示装置としては優れているが、たまには古来から存在するバーチャルリアリティも体験してみてほしい。バーチャルリアリティとして見なくても、気持ちが落ち着くとか多分ある。

*1:大徳寺臨済宗

*2:非常にザックリ言えば、たった一滴の水にも大きな可能性があるのだから、たかが一滴だからと粗末にするなよ〜という話らしい

勸世宗親會(Trance Zone Family)や羅雷集團などについて知ってること

勸世宗親會(Trance Zone Family)を知っているか。あるいは勸世寶貝喵喵(Trance Baby Meow)なら日本でも知ってる人はそこそこいるんではないか。ない人はコレ見てください。

youtu.be

僕は中毒性が高い曲だと思っているが、いかがだろうか。この人らが出してる曲やPV、めっちゃ最高で、僕はこのごろ勸世宗親會の作品ばっか聴いてるし、このためだけに独学で中国語も勉強し始めたぐらいだが、いかんせん日本語の情報が少なくて困っている。あるといえば、勸世宗親會(特に勸世美少女娃娃)についてたくさん記事を書いてらっしゃる素晴らしいブログとか、最近出た素晴らしい日本語インタビュー記事とかぐらいだ。

自分が日頃のインターネットダイビング(もはやサーフィンどころじゃないので勝手にそう言ってる)で得た情報を忘れないように、勸世宗親會を中心に、その周辺の羅雷集團という謎集団も含めまとめておこうと思う。

続きを読む