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
実行!
Plotclock のプログラムを改造して、絵描き歌できた!#Adventurer3 pic.twitter.com/BKtTJgPIgy
— Nochi (@shikarunochi) October 11, 2020
描けたー。
ちなみに、描画台がガタガタしないように、HOZANのミニバイスで固定してます。
上下左右、ギリギリまで動かしてみて、描画範囲を探ってみたりしています。
端っこの方に行き過ぎると、突然アームがあらぬ方向に向くこともあって難しい。
サーボの下側可動範囲を、上の赤線ぐらいまで動くようにすると、下のほうまでアームが届きますね。サーボ個体差で届かないことあるかも。もともと、下のほうは制御難しくて描画が苦手っぽいです。このへん、僕もまだまだ調整中…。