2024年01月18日

線画入力の精度改善など

管理人のワロタロです。

本日、Ver. 0.0.6を公開しました。 今回は大きな変更はありませんが、細かい操作で線画を描くときの入力精度の改善を行いました。

線画入力の精度改善

ツイッター(現X)で手ぶれ補正が強すぎる旨のご意見を目にし(エゴサ)、よい機会なので見直してみました。線がなめらかになりすぎるという感じはあまり無いので、細かい入力ができないということではないかと思います。

文字が一番わかりやすいので、小さい文字を書いてバージョンの前後を比較したのが下の図です。

線画入力の精度改善

たとえばVer 0.0.6の方の「あ」の文字は定規で測ると縦横2mmくらいのサイズでしたので、かなり小さい文字でも書くことができるようになりました。文字を書く目的のツールではないわけですけど、基本的な線の引きやすさは地味に改善されたのではないかと思います。

ちなみに使用した端末は初代MS Surface Proです。もはや化石。

なお、なにか設定項目を出したいと思ったのですが、独特なアルゴリズムで処理しているのもあって、今回は実現に至りませんでした。

線画入力のアルゴリズム

アルゴリズムとしては、上の図の左のような入力(線ごとの点群)から、①近接している点を省きつつ角の部分で線を分割、②点ごとの曲率(角度)をもとに最適な間隔でサンプリング、というような手順になっています。

今回調整したのは①の近接する点を省くところで近接距離を小さくしました。そうするとブレに弱くなりますが、細かく入力が取れるようになります。一方で細かく取れすぎてデータが多くなるので、②のサンプリングを曲率を反映するようにしました。

理屈はこうなのですが、どうやって分かりやすい設定項目に落とし込むのか、なかなか悩ましいところです。とりあえず謎の数値を出しておいて、値を変えるとたしかに変わるぞというのでもいいんですが(笑)

③のサンプリングのところでどうしても線の弧の内側に向かって小さく変形してしまう傾向があって、そのあたりも改善したり設定項目にできたりしそうなのですが、実現するのはまだ少し先になりそうです。

その他の更新

  • メニューから公式サイトの「使いかた」のページを開くことができるよう項目を追加
  • 線幅の上書きツールで辺(点と点の間部分)を指定して入力できるよう改善
  • サイドバーボタンが入力しづらい問題(少しでもポインタ/指が動くと押したことにならない)の修正
  • ツールの影響範囲の半径に依存して線のアクティブ化とツールの入力もどちらもできない場合がある問題の修正
  • ドキュメントの新規作成時に保存されていないデータは破棄される旨の確認メッセージを追加