Skip to content

sotomono/SHORO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 

Repository files navigation

書路 SHORO

「書路」とは?

書路は漢字の最適な書き順を探索するサイトです。

「最適な書き順」とは、"漢字を完成させるために動かす筆の経路"を最適化した書き方のことです。要するに効率的な漢字の書き方です。

コンピュータが見つけ出した突飛な書き方は眺めていてとても楽しいです。是非今後の書き方の参考にしてください。…嘘です!参考にしないほうがいいです!

書路が最短書き順を見つける仕組み

1. データの取得

入力された漢字のUnicodeコードポイントを使い、KanjiVGというオープンソースデータベースからSVGファイルを取得します。このSVGには各画が 要素として収録されています。

2. 各画の解析

SVGの全 を読み込み、それぞれについて以下を計算します。

  • 画の総ピクセル長

  • 書き始めの座標(始点)

  • 書き終わりの座標(終点)

  • 逆方向に書いた場合のパスデータ

3. 最短順序の探索(最近傍法)

ここが核心です。「ある画を書き終えた後、次にどの画を書き始めるか」のペン移動距離の合計を最小化します。

各画を「順方向」「逆方向」どちらで書いてもよいとして、全画を出発点として試みます(計 画数×2 通り)。

各出発点から貪欲法(最近傍法)で「今いる位置から最も近い次の画の始点」を繰り返し選んでいきます。

全パターンの中で総移動距離が最小だったものを「最短書き順」として採用します。

4. 注意点

最近傍法は厳密な最適解を保証しない近似アルゴリズムです(厳密解を求める巡回セールスマン問題はNP困難)。

ただし画数が多くても高速に動作し、実用上十分に短い書き順を導き出します。

ファイル構成

  • index.html:このサイトのメインページです。

  • script.js:JavaScriptファイルです。

推奨環境

PCとスマホに対応!! ※ブラウザについて:Google Chromeで開発をしました。他のブラウザでは動きが異なる可能性があります。

ライセンス

このプロジェクトの文章やコードは、 MITライセンス のもとで公開しています。自由にご利用ください。

詳しくは「LICENSE」ファイルをご覧ください。

クレジット

漢字データ: KanjiVG © Ulrich Apel, CC BY-SA 3.0

作者情報

作ったひと:sotomono(19歳)

※「書路」は、以前制作した漢字最短書き順比較サイトの改良版として、claudeで制作しました。

About

「書路-SHORO-」は、漢字の最適な書き順を探索するサイトです。

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors