SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|

2018-05-13(Sun) レトロな製作アレコレ

  ちょっと前からカッティングプロッタに興味があり、いろいろ下準備をしていた。ウチの近所には「ブラザーミュージアム」という、ブラザーの博物館があり、そこでカッティングプロッタの動作がお試しできるらしい。そのうち訪れようと思っていたが、ようやく実現した。

  もともとブラザーは、ミシンの製造で起業して成功し、その後はミシンで培った技術を幅広い分野に応用し、世界的な企業に成長するという、まさに企業の鏡のような会社なのであった。なので、博物館にはものすごい数のミシンが展示してある。

  画像の説明

  興味深かったのは、最古のミシンの次のミシン。作ったはいいが、体制維持派に破壊されたらしい。いわゆるラッダイト系の運動の犠牲になったというところか。まさにダメダメ運動の鏡のような出来事である。

  画像の説明

  他にも、何度かお世話になった「TAKERU」も置いてあった。「TAKERU」といっても炊飯器ではないので、待っていてもご飯は炊けない。待っていて手に入れることができるのはフロッピーディスクに書き込まれたソフトウェアである。

  と、ひととおり見回った後、体験コーナーに行ってみると、カッティングプロッタはあった。ハイエンドモデルの「ScanNCut CM650W」である。パソコンはつながっていないが、この製品はタッチパネルだけで使えるので問題ない。簡単な説明書と体験用のケント紙が置いてあった。

  簡単な説明書を一読し、試験的に紙を丸く切ってみる。成功。そこで、おもむろに胸のポケットから持参したUSBメモリを取り出す。インベーダーのSVGファイルを用意してあるのである。いざ、カッティング!

  画像の説明

  自製のSVGファイルは、縦線ばっかり、横線ばっかり、という順で記述してあったので、ヘッドは素直にそのように動き、角の切り込みが浅く、微妙に切り抜かれない結果になった。なるほど、そうなるのね。

  画像の説明

  この傾向は、小ささの限界テスト用に持ち込んだSVGファイルのカッティング結果をみるとよくわかる。SVGファイルに工夫が必要なのはわかったが、小さい方のサイズを切るのは難しいかもしれんなぁ。

  ちなみに、プリセットのフォントで「ROADSTER」とカッティングしたところ、キレイに切り抜くことができた。後ろの2文字は紙の外で失敗したが。

  まずは、体験的な使用として十分な成果が得られたといえよう。SVGファイルの生成アルゴリズムを工夫しなきゃならんな。

  画像の説明

  さて、帰宅して、またもや自作の卓上カレンダを印刷する。今期は「ファンタジーゾーン」「アフターバーナー」「奇々怪々」「アサルト」モチーフである。

  生成されたPDFを置いておく。

  やりこみ度は「ファンタジーゾーン」がゲーセンで4-5周、「アフターバーナー」はX68000版でそれ相当に、「奇々怪々」はゲーセンで山婆まで、「アサルト」はPS版でそれ相当に、という程度。

  ふと思い出して「奇々怪々」のゲームミュージックを聴いてみると、なにげに神がかってる曲だと気づいた。当時の音源で、和の音色と、童歌っぽいメロディーラインのハーモニーが美しすぎる。さすがはOGR氏といったところだなぁ。


2018-05-20(Sun) 次なる製作の準備

  先日「縦線ばっかり、横線ばっかり」という順で記述されたSVGファイルはイマイチということがわかったので、自動的に一筆書きにするようプログラムを修正した。

  といっても、一筆書きのアルゴリズムはそう簡単ではなく、完璧なものにはなっていないが、実用上は問題ない、というレベル物にはなったと思う。

  画像の説明

  ちょいと工夫して、アニメーションGIFに仕立ててみた。一応は一筆書きになっていることが見て取れるかと思う。

  画像の説明

  実は、差し迫ってちょっと作らなければならないものがあり、そのための習作として、ROADSTERのキーホルダをデザインしてみた。とりあえず生成したSVGファイルをGIMPでラスタライズし、紙にレーザプリンタで打ち出したものであるが、最終的には近所のファブスペースでレーザ加工機を使って、本革で製作する予定である。

  こっちのSVGファイルは、実は以前に実装したタートルグラフィックスライブラリを使って生成している。こんなことやってるヤツは世界にもそう多くないんじゃないだろうかな。

  独自に実装した、ベジェ曲線描画コマンド「tThrough」と、パーフェクト破線描画ライブラリが実にイイ仕事をしてくれているのだ。我ながら、目的の四角形を囲むラウンドレクタングルを描く手法として、これ以上に美しい方法はどこにも存在しないと思える。そういえば、オイラは、昔からロジックで絵を描画するのがたまらなく好きなんだよね。

  というわけで、キーホルダを加工手順の記述スクリプトを以下に示しておく。

     # ROADSTER キーホルダ
 
     w1 = 46.to_in;  h1 = 20.to_in                               # 縫い目の内側の大きさ
     w2 = 20.to_in                                               # 折り返し部の長さ
 
     r1 = 3.to_in;   r1s = r1 * sqrt(2)                          # 縫い目の外側のR
     r2 = 5.to_in;   r2s = r2 * sqrt(2)                          # 折り返し部へのR
 
     s1 = 4.to_in                                                # 縫い目の幅
 
     images = ['roadster.png', 'skyactiv.png']
 
     win.tSetPos(300, 100)
     win.tSetHeading(0)
     win.tLeft(90)
 
     2.times {
 
         win.tForward(w1)                                        # 左回りに外形を描く
         win.tThrough(-45, r1s, -45)
         win.tForward(h1)
         win.tThrough(-45, r1s, -45)
         win.tForward(w1)
 
         win.tPenUp                                              # 内側の縫い目に移動
         win.tLeft(90)
         win.tForward(r1)
         win.tPenDown
 
         xs = []; ys = []                                        # 右回りに縫い目を描く
         win.tLeft(90);  xs << win.tXpos; ys << win.tYpos
         win.tDForward(*win.fit_dline(w1, [0, [1, s1 - 1]], { :FIT   => true }))
         win.tRight(90); xs << win.tXpos; ys << win.tYpos
         win.tDForward(*win.fit_dline(h1, [1, [1, s1 - 1]], { :FLOAT => true }))
         win.tRight(90); xs << win.tXpos; ys << win.tYpos
         win.tDForward(*win.fit_dline(w1, [0, [1, s1 - 1]], { :FIT   => true }))
         win.tRight(90); xs << win.tXpos; ys << win.tYpos
 
         win.put_image_png_center(xs, ys, images.shift)          # 縫い目の内側の中心にロゴを描く
 
         win.tPenUp                                              # 内側の縫い目から出る
         win.tForward(h1 + r1)
         win.tLeft(90)
         win.tPenDown
 
         win.tThrough(-45, r1s, -45)                             # 折り返し部分を描く
         win.tThrough( 45, r2s,  45)
         win.tForward(w2)
         win.tThrough( 45, r2s,  45)
         win.tThrough(-45, r1s, -45)
     }

  記述の意味を思い出すため、メモとしてイメージを追加しておく。

  画像の説明


2018-05-24(Thu) はじめてのレーザー加工

  画像の説明