Processingを用いた画像処理①

posted in: Photos, Processing | 0

この記事で作るものを先にお見せします。

みなさんはスピログラフをご存じでしょうか。

簡単に言うと、歯車Aの内部で歯車Bを回転させ、B内のある一点をプロットしていくと幾何学模様が生じるというものです。

(画像のplotはテキトーに描いたものなので、本当にオレンジの模様ができるかは分かりません。)

これを実際にやるときは、プロットというより鉛筆の芯を当て続けることによって、線画を作成するというわけです。

この作業は言い換えてみれば、決まった手続きの下で図形を生成しつづけるというアルゴリズムなわけです。

このようなアルゴリズムはプログラミングを使って行うことが可能です。

その手法の一つがProcessingというソフトを使った画像処理です。

実際に使ってみる

 Processingと検索すれば、無料でダウンロードできるページにいけます。

ソフトを起動すると、画像にあるように、コードを入力する欄があります。ここに図形を生成する関数を入力した後、再生ボタンを押すことにより画像の表示が可能となります。

 せっかくなので、Processingにしかできないことをやってみましょう。

スピログラフは、一定範囲内に収まる半径のもと、点を360°繰り返し描き続ける行為です。

ならば、増大し続ける半径のもと、線を360°繰り返し描き続けたらどうなるでしょう。

現実には歯車が大きくなっていくことはないので、このようなアルゴリズムはProcessingにしかできないでしょう。

この場合の図形生成は以下のようなプログラムによって実現できます。

void setup() {

size(960, 540);

frameRate(20);

background(255);

}

//これは生成画像のサイズ、フレームレート、背景色を決める関数です。

int R = 10;

int theta = 0;

void draw() {

theta += 10;

R += 1;

line(R*cos(radians(theta))+width/2, R*sin(radians(theta))+height/2,R*cos(radians(theta)*1.05)+width/2, R*sin(radians(theta)*1.05)+height/2);

}

//Rを半径、thetaを回転角と定義します。void drawが起きるたび、Rとthetaの値が増大し、line関数でつくられる線の位置が置き換わりながら、長さが増大していくことになります。

その結果、以下のような画像が生成します。

対称っぽいが微妙に対称っぽくない、スピログラフのような何かができました。しかし、スプログラフのように現実に描くことはできなさそうなので目的達成です。

対称じゃないのは、フレームごとにradians(theta)に1.05を掛け算しているためです。1.05以外の値に変えてみれば、もっと対称な画像も生成できたりして、個人の好みに合わせられます。

というわけで、芸術的なProcessingでした。

3Dプリンター:②印刷工程

posted in: 3D Printing | 0

まず、届いた3Dプリンターの動作確認をしなければなりません。そこで、既にUSBメモリー中に用意されているELGOO社製の3Dデータを実際に印刷しましょう。これが印刷できなければ、設定がおかしいか、不良品であるかということになります。

タンクのMAX目盛りまでレジンを投入したら、Rock.ctbファイルを選択してプリント開始します。

赤いカバーは本体に被せ、水平であることを確認しましょう。

天井であるビルドプラットフォームが上下運動を繰り返して、下方向へ生えるかのように造形物ができあがっていきます。

完成までにかかった時間は測定されています。2時間38分でした。明日が平日なのに深夜に始めてしまうと後悔します。注意しましょう(実体験)。

印刷物はこのように天井であるビルドプラットフォームに接着しています。

ビルドプラットフォームは取り外して、さらに印刷物とプラットフォームの間にヘラを食い込ませることによって、造形物を取り外します。造形物は水で軽く洗います(水洗い可能レジンに限る)。歯ブラシを使うとよいでしょう。強くこすると、壊れる可能性がありますのでご注意を。洗浄ができていないと、穴になるべきところが塞がったままになってしまうなど、予期しない形状になってしまう可能性があります。洗浄後は、一日程度置いておくことによって乾かします。

ここで、余ったレジンはろ過して再度保存しておきましょう。一般的には、元々入っていた容器に戻すそうですが、私は別のタッパーに入れて保管しました。

そして、こちらはビルドプラットフォームから取り外した3D造形物です。3Dプリント直後はもろいため、二次硬化として再度UVを照射する必要があります。画像の照射機が便利です。中央のターンテーブルが周り、均一に照射できるためです。時間は5分程度としました。10分でも良いと思います。ただし、UV照射時間が長すぎると、造形物が黄変する可能性があります。短すぎるのも当然よくなく、3分程度の二次硬化の場合ですと、造形物を手でペタペタ触っていたら痛くなったような気がします。これはおそらく、手に染み込むようなモノマーが残っていたためだと考えられます。

完成!チェスのルークのような形状です。1 mm程度の長さの細かい文字までくっきりと印刷できています。内部では、螺旋形状が形成されていることが確認できます。結構硬く、ヤング率で言うと数GPa程度はありそうです。したがって、購入した3Dプリンターは不良品ではないことを証明できました。

3D Printer

3Dプリンター:①必要なものリスト

posted in: 3D Printing | 0

3Dデータを現実化するため、3Dプリンターとその他もろもろを買いました。

揃えたもの

今回購入したのは3Dプリンターを含む8点。

全てアマゾンで揃えました。こんなにでかい荷物になって届きます。

以下、8点の詳細です。

・ELEGOO MARS 2 PRO 3D PRINTER

アマゾンで3万円くらいで買えます。3Dプリンターには主に、熱で硬化させるタイプと光で硬化させるタイプがありますが、これは後者です。この選択の決め手は、普段から研究で光加工を行っており、光のポテンシャルを信じているからってところです。

付属品

ビルドプラットフォーム:造形物ができあがる土台みたいなものです。

レジンタンク:レジンを詰め込んでおきます。

マニュアル:これだけあれば、特にネットで調べずとも3Dプリントを実行できます。

電源アダプタ:100-240 V対応です。

・二次硬化用UVライト(ELEGOO MERCURY)

3Dプリンタで物体をある程度まで光造形した後に洗浄を行い、さらにもう一度光照射するためのUVランプです。これは6000円くらい。中央に回転台がありますので、造形物が回転されることによって均一に光照射されます。土台中央のフタを取り除いた位置にある窪みにターンテーブルを設置する際、ペンチを用いないとフタがとれなかったのでご注意を。

・親水系レジン(NOVA3D PRINTER RESIN)

レジンとは樹脂のことです。1000 gで5000-6000円程度。疎水系レジンを選ぶことも可能です。ただし、その場合は後の洗浄工程でイソプロパノールが必要になります。イソプロパノール(IPA)はキラル化合物分離のためにHPLCで使用しておりましたが、独特な匂いがあります。したがって、狭い部屋ではIPAを使いたくないと思い、こちらのレジンにしました。

・キムワイプ3セット

無事、家にキムワイプ置いているタイプのオタクになってしまった。。。

・マイスコニトリルグローブ(ホワイト、パウダーフリー)

レジンを素手で触るのはやめましょう。といってもレジンの化学式が分からないんですが、念のためです。

・ろ紙(”極み”、エコ・ミニ・ストレーター)

3Dプリンターでレジンを固めた後に、余ったレジンは再利用できます。その中に、一部固まったレジンも生成し得るので、それを除去するためのものです。

・タッパー(イノマタ化学、4個セット)

おそらく最低2個はあったほうが便利。造形物を置いて洗浄する用と、余ったレジン保管用に使っています。余ったレジンはそのまま最初に入ってた入れ物に戻す人の方が多そうですが。

・ビーカー(500 mL、IWAKI)

ろ紙で余ったレジンをろ過する際、いきなりタッパーに入れるのは難しいですよね。というわけで、一旦ろ液を受けるようのビーカーです。

以上、8点です。お値段は合計で5万円くらいです。

・その他、付属品

スクレーパー(黄色):造形物をビルドプラットフォームから取り外すときに、こそげ取るようにして使います。

ろ紙(漏斗としてそのまま使える):9回分が付属しています。

計量カップ:100 mLしか入らないので、別にビーカーを買うのがおすすめです。

USBメモリー:3Dプリンターに直接さすためのものです。初期データとして、ELGOO社が用意してくれた3Dデータが入っていますので、動作確認に使えます。

ツールセット:ビルドプラットフォームを取り付けるためのねじ回し用工具などが入っています。

シリコーンゴム:フタの縁に取り付けることで、フタと3Dプリンタ本体を密着でき、レジンの匂いを閉じ込めることができます。

全体像

これだけたくさんの購入品がありましたが、割とコンパクトに収まりました。3Dプリンターの赤いフタは何度も取り外し・設置を行いますので、上側にそれを妨げるものがない方が良いです。

起動チェック

基本的な設定を行った後、UVランプが点灯するかを確認します。

具体的には、ビルドプラットフォーム取り付け→位置キャリブレーション→UVランプ点灯、のこれだけです。マニュアルに書いてありますので詳細は省略します。

位置のキャリブレーションは、A4の紙をビルドプラットフォームとUV照射面の間に挟んで行います。この工程、原始的な気もするけれど、逆にどこにでもある紙を使うだけでキャリブレーションできるようにした技術者は偉いなと思ったり。。。(; ・`д・´)

最後、「Tool」の「Exposure」から「Next」を選択するとUV照射をONできます。

点灯!普段ラボで使う365 nm光とは違って、青みが強いというか、やはり410 nm光だなって感じがしますね。

GAINENZ開設

posted in: 3D Modeling | 1

作製した3Dモデルや3Dプリント造形物をアップロードする目的でWEBサイト”GAINENZ”を開設しました。

独自ドメインのgainenz.comを使っています。

要望などあれば、メールでgz[at]gainenz.com (ただし[at]は@に変換)へ送っていただくことができます。

概念図がコンセプトなので、基本的に複雑なものは作らない予定です。

たまに、こんなキャラクターも作製します。

Twitterアイコンはしばらくこのキャラにしてみようかと思います。