Plot Clock で絵を描く Plot Picture

PlotClockが数字を描くときは、X軸Y軸の座標を指定して移動しています。

void drawTo(double pX, double pY)

ということは、このロジックを使えば、数字だけじゃなくていろんな絵が描けるかも?やってみましょう!

X-Y座標はこういう感じになってました。

左下が(0,0)、右上のペンの位置が(71,50)です。
描画エリア的には 67×50 ぐらいでしょうか。作り方によって微妙に数値は異なってくると思います。
プログラム作ってるときも、描画位置はいろいろ試行錯誤で調整しました。


線で描く絵のデータは、以前に作ってた「ガッツでC.G.サポートツール」で作成しました。

M5Stack:レトロパソコン風CG作成支援ツールパワーアップ
https://shikarunochi.matrix.jp/?p=2341

線画だけで、複雑になりすぎないように描きます。

クリップボード経由でPCに持ってきて、線画データファイル作りました。
1行目の情報データを削除、各行の最後に “,” を追加して、ヘッダファイルにします。


元データサイズは 640×480 です。これを 67×50 サイズに縮小して描画します。
ツールで作ったデータは、結構細かくXY座標が取得されてるので、前回描いた場所と距離が近い場合、描画スキップするようにしています。

プログラムはこちら。

shikarunochi / Plotclock / PlotPicture
https://github.com/shikarunochi/Plotclock/tree/main/PlotPicture

実行!

描けたー。

ちなみに、描画台がガタガタしないように、HOZANのミニバイスで固定してます。

上下左右、ギリギリまで動かしてみて、描画範囲を探ってみたりしています。
端っこの方に行き過ぎると、突然アームがあらぬ方向に向くこともあって難しい。

サーボの下側可動範囲を、上の赤線ぐらいまで動くようにすると、下のほうまでアームが届きますね。サーボ個体差で届かないことあるかも。もともと、下のほうは制御難しくて描画が苦手っぽいです。このへん、僕もまだまだ調整中…。