Overview
bitmap 画像を SVG パスへ変換する Python ツールで、CNC milling や laser cutter などの NC 機向けに使うことを想定しています。Illustrator などへ読み込んで使うこともできます。
skeletonization、graph theory による経路最適化、OR-Tools の TSP solver を組み合わせた変換フローで構築しています。パスの連続化やノード数削減まで含めた経路最適化機能付きのツールが見当たらなかったので、自作しました。
線画作成も重要な工程で、当時は Stable Diffusion の preprocessor を使って素材を整えていました。2023年の実装では GitHub Copilot の GPT-4 を補助的に使っており、今なら題材によっては Gemini や ChatGPT 系の画像機能を組み合わせるのもありだと思っています。
Highlights
- PNG などの線画から SVG パスを生成
- skeletonization と graph optimization を組み合わせた変換フロー
- パスの連続化とノード削減を含む経路最適化を実装