# 漢字回転アンビグラム · Sinogram Ambigrams

**180°回転すると、一つの図形は別の文字や意味に変わるだろうか。**

**言語：** [English](../../README.md) · [简体中文](../zh/README.md) · 日本語

> **研究範囲：日本語の漢字と中国語の漢字は、同じ重要性を持つ二つの実験研究系です。** 日本語 KanjiVG（2,770 字）と中国語 GB2312 / Make Me a Hanzi（6,763 字）の双方で自然回転・異字候補探索・幾何学的構成を研究しています。どちらにも統制された人間の読字検証はなく、字形ソースや距離指標の違いは研究上の優先順位を意味しません。[SCOPE.md](../../SCOPE.md)、[全手法の実例](../../methods/)、[限界](../../findings/limitations.md)をご覧ください。

このプロジェクトは、**幾何学、言語、知覚、意味**の交点を探る研究・アートの試みです。中国語の漢字と日本語の漢字を対象に、正位置と180°回転後で異なる字形として読める図形（回転アンビグラム）を調べています。[Issei Nomura](https://x.com/IsseiNomura) 氏のアンビグラム作品から着想を得ていますが、本人との共同制作・公認プロジェクトではありません。

![甲と由のブラウザー生成例](../../assets/generator-preview.png)

### 回転字形のギャラリー

![4組の候補をそれぞれ0°と180°で示した生成SVG](../../assets/rotation-gallery.png)

*生成器で作成した4組の実験的な候補：甲 ↔ 由、吉 ↔ 阜、目 ↔ 目、回 ↔ 回。回転前後の形と対象文字を見比べてください。*

## 研究手法の全体図と証拠の区別

**[対話型の研究手法マップ](https://claudiodrews.github.io/sinogram-ambigram/methods/)**（EN / 中文 / 日本語）および[詳細な方法・可視資料一覧](../../methods/RESEARCH_TRACKS.md)では、日本語 KanjiVG と中国語 PRC 由来の研究を分離し、自然回転候補、幾何学的な構成、読字評価を区別しています。

**日本語系：**GPT のラスター IoU、GLM の平行移動 IoU、Claude v1 の骨格 F-score、Claude v2 の W1/ワープ/構造評価、Kimi の FFT/IoU、Mistral の中心線点群、MiniMax の KanjiVG 回転グラフ、合計 **7 種の比較アルゴリズム・変種**を調査しました。自然 C₂ 自己回転と異字ペアに加え、オーバーレイ、ストローク顕著性、共通ストローク、C₂ の表示方法を探索しています。7種の指標は7種の完成図形生成方式を意味しません。`v1-top`/`v2-top` は実験標本の選択層であり、別々の描画アルゴリズムではありません。

**中国語系：**GB2312 自己回転・異字粗探索、元字形の合成、回転中心の調整、端点の調停、領域別線幅規則と探索、R-ODD（PR #14）、調和場（#15）、A/B融合（#16・#21）を研究しました。いくつかの実験には来歴とライセンスを確認済みの公開SVGがまだありません。[C₂研究ラボ](../../demo/c2/)の概念図は各アルゴリズムによる生成画像ではありません。

**[シンプルな読者ギャラリー](https://claudiodrews.github.io/sinogram-ambigram/evaluation/recognition/)**は手法を識別した探索的な感想収集であり、母語話者による統制済みの可読性実験ではありません。

## まず試す

- **[中国大陸の漢字回転候補エクスプローラー](https://claudiodrews.github.io/sinogram-ambigram/prc/?lang=ja)**：独立した GB2312 の粗い幾何ランキングと原字形の180°重ね合わせを表示。**読字検証なし**、完成したアンビグラム生成器ではありません。

- **[アンビグラム生成器](https://claudiodrews.github.io/sinogram-ambigram/generator/)**：漢字を入力して回転後の形が近い候補を検索し、SVGを合成します。生成方式を変更し、180°回転して比較し、SVGを保存できます。意味の近い別の字を試す機能は**少数の手作業で定義した例**のみで、一般的な同義語辞書ではありません。
- **[Rotation Lab](https://claudiodrews.github.io/sinogram-ambigram/demo/)**：**16例**を使い、複雑な字形、ストロークの重ね合わせ、線の強調、C₂対称性、構成要素の配置を試せます。両方とも英語・中国語・日本語のUIを備えます。
- **[C₂ ビジュアル研究ラボ](https://claudiodrews.github.io/sinogram-ambigram/demo/c2/?lang=ja)**：同一KanjiVG字形の厳密なC₂偶・奇成分、可動回転中心、PRC半幅修正とA/B融合の実測幾何結果を表示。局所場と調和場は模式図であり、読めるアンビグラムを証明するものではありません。英語・中国語・日本語のUIに対応。

**[プロジェクトサイト](https://claudiodrews.github.io/sinogram-ambigram/)** と上記の二つのデモは GitHub Pages で公開済みです。ソースコードは [`generator/`](../../generator/) と [`demo/`](../../demo/) にあります。

## 仕組み

1. 回転距離の実験データから入力文字の候補を検索。
2. KanjiVGのベクターストロークを読み取り、相手の字を180°回転して重ねます。
3. 強調度による合成、単純な重ね合わせ、共通骨格、C₂対称性を比較。
4. 直接候補がない場合は、小規模な意味関連文字の候補を試します。
5. 回転可能なSVG、使用方法の説明、フィードバック導線を表示します。

日本語字形の幾何探索では、**2,770文字**からなる自己ペアを含む**3,837,835組の順序を区別しないペア**を評価しました。約384万行の全結果はリポジトリには含まれず、公開済みの精密測定は**5,180件**です。生成器には**432文字**分のベクターデータが含まれ、その他はオンライン取得を試みます。元の対象は常用漢字・人名用漢字を中心としており、**中国語の漢字全体を収録しているわけではありません**。最終的な読みやすさは、図形を実際に回転して比較することが大切です。

## 中国大陸由来の字形データ

独立した PRC 研究系は、SHA-256 で固定・検証した Make Me a Hanzi の**9,574件の字形レコード**に基づき、GB2312 の **6,763/6,763文字**をカバーしています。ただし、コードポイントの網羅は地域別の標準字形の認証ではありません。[元データの再現記録](../../findings/prc-source-reproduction.md)と[PRC 探索器](../../prc/)を参照してください。

## 実験中の研究（`main` には未統合）

公開済みのウェブサイトと、現在レビュー中の実験用プルリクエストは区別する必要がある。**[PR #19](https://github.com/ClaudioDrews/sinogram-ambigram/pull/19) は `main` に統合済み**である。計測済みの筆画半幅を使用する修正版と、PRC v1.16 の歴史的再現専用に保持した旧実装を分離した。元の輪郭に対する32字の比較では32/32字で IoU が改善した（中央値 **0.4743 → 0.9083**）。これは幾何学的な一致度であり、人間の読字可能性を示すものではない。

- [PR #13](https://github.com/ClaudioDrews/sinogram-ambigram/pull/13)：元の半幅修正案。**この PR 自体は未統合**であり、歴史的再現を保護した PR #19 を通じて修正内容のみが統合された。
- [PR #14](https://github.com/ClaudioDrews/sinogram-ambigram/pull/14)：R-ODD による回転後の墨画の局所補償。
- [PR #15](https://github.com/ClaudioDrews/sinogram-ambigram/pull/15)：C₂ 対称性を満たす滑らかな調和関数のストローク幅場。
- [PR #16](https://github.com/ClaudioDrews/sinogram-ambigram/pull/16)：異なる二文字間のストローク対応付けと融合。
- [PR #17](https://github.com/ClaudioDrews/sinogram-ambigram/pull/17)：[視覚言語モデルによるブラインド識読パイロット](https://github.com/ClaudioDrews/sinogram-ambigram/tree/exp/vlm-reading-benchmark/experiments/vlm-reading-pilot-01)。52 枚の画像、4 モデル、208 回の応答、再現可能な採点コードを含む。詳細な研究文書は英語と中国語。
- [PR #21](https://github.com/ClaudioDrews/sinogram-ambigram/pull/21)：事前に固定した**新規32組の A/B ペア**を用い、閾値 **2・4・8・12・16** で融合を検証した独立実験。閾値16では **31/32組**で少なくとも1本のストロークが対応付けられたにもかかわらず、**32/32組で最終ラスタ画像の画素は変化しなかった**。初期実験のマッチング不成立だけでなく、その後の候補選択にも問題が残る。[`main` の診断](../../findings/prc-ab-fusion-null-diagnosis.md)と[草稿の結果](https://github.com/ClaudioDrews/sinogram-ambigram/blob/exp/ab-fusion-threshold-sensitivity/experiments/ab-fusion-threshold-v1/RESULTS.md)を参照。**未統合。**

選定した五つの自己回転字形について、両方向で正しく認識された組み合わせは、歴史的基準 **10/20**、半幅修正 **14/20**、R-ODD **13/20**、調和関数 **15/20** であった。異字ペア二組は両方向の正答がなかった。初期 A/B 融合では対応ストロークが0本だったため単純な重ね合わせと同じ画像になり、後続の PR #21 ではストローク対応が得られても最終画像が変化しないことが確認された。この小規模な結果は**自動認識に関する探索的な証拠**であり、母語話者による検証や一般化を示すものではない。

## 技術資料

現在固定されている依存ライブラリには **Python 3.12 以降**が必要です。

- [理論](../../theory/)：回転代数、IDS構造、文字の族ごとの規則。
- [手法](../../methods/)：探索アルゴリズム、距離指標と合成手法。
- [研究結果](../../findings/)：候補ペア、観察、手法上の論点。
- [データ](../../data/)：CSVランキングと文字集合。
- [Pythonコード](../../code/)：実験的実装とテスト。
- [生成器の技術説明（英語）](../../generator/README.md)。

## 既知の制限と文化的範囲

この節の数字から結論を導く前に必ず読んでください。以下は要約であり、詳細は [SCOPE.md](../../SCOPE.md)、
[`findings/limitations.md`](../../findings/limitations.md)、
[`LICENSE-AUDIT.md`](../../LICENSE-AUDIT.md) にあります。

**字形データは日本語系だけではなく、独立した二つの研究系からなる。** 日本語系は KanjiVG の常用漢字 2,136 字と人名用漢字 634 字を対象とする。一方、中国語系は Make Me a Hanzi に由来する GB2312 の 6,763 コードポイントをすべてカバーし、106,347 組の粗い幾何学的候補を抽出した。**二つのデータ源を混合して順位付けすることはない。** 従来のブラウザー生成器は中国語の文字を入力しても日本語 KanjiVG 字形を使用する。中国語由来の形状を用いるのは独立した PRC Explorer である。**GB2312 コードポイントの収録率は、中国大陸の規範的な簡体字字形の認証ではない**。元データには簡体字と繁体字の両方があり、地域別の字形確認は未完了である。

**幾何学的な類似は、読めるアンビグラムの証明ではない。** 日本語系は主としてストローク中心線の距離、中国語系の粗い探索は 37×37 グリッドの回転後の墨画重なり度を測定する。いずれも人間の読字能力を直接評価しない。[実験中の PR #17](https://github.com/ClaudioDrews/sinogram-ambigram/pull/17) には視覚言語モデルによる小規模なブラインド識読試験があるが、**まだ `main` に統合されていない**。ε の較正、母語話者による統制研究、人間にとっての可読性の検証は未実施である。

**意味による代替のリストは小さい。** 幾何的な候補がない文字には、手で少数の関連文字を用意し提示する。
これは辞書ではなく例示であり、置き換えは利用者に明示される。

**度量には既知の偏りがある。** 従来の日本語系の回転グラフには字形密度や一部の文字への候補集中という偏りがあり、基準実装では回転中心が文字枠の中央に固定されている。この制約を新しい PRC 構成手法すべてに当てはめることはできず、評価尺度も研究系ごとに検証する必要がある。これらは
[`findings/limitations.md`](../../findings/limitations.md) と
[`findings/conflicts-and-corrections.md`](../../findings/conflicts-and-corrections.md) で
記述・数値化されている。

**半回転のみ。** 90°回転、鏡映、図地反転は対象外である。**鏡映の対は回転アンビグラムではない。**

**単位は単一文字、書記体は一種のみ。** 分析の単位は一文字である。語の組み合わせ、縦書き、
混在文字列は扱っていない。

**文化に関する主張について。** 本プロジェクトが扱うのは漢字の**図形**である。ある文字が誰に
どう意味を持つかについて的主張はせず、成果物を文化的に正統なものとして提示することもない。
*ma*（間）、*shodō*（書道）、*wabi-sabi*（侘寂）、*kotodama*（言霊）などの伝統的概念に触れ
るときは、出典と定義を [`docs/GLOSSARY.md`](../../docs/GLOSSARY.md) に示しており、本研究の
結果についての主張ではなく、一つの視点として示している。

**着想は承認ではない。** 本プロジェクトは Issei Nomura 氏のアンビグラム作品から着想を得た。
同氏は本リポジトリの執筆・レビュー・承認には関わっておらず、同氏の作品も再配布していない。

## フィードバックとライセンス

気になる候補や改善案があれば、文字の組・生成方法・SVGや画像を添えて [GitHub Issueを作成](https://github.com/ClaudioDrews/sinogram-ambigram/issues/new) してください。[Claudio Drewsにメール](mailto:21au6i06R3w55891@proton.me)で連絡することもできます。独自コードと文章は [MIT](../../LICENSE)、KanjiVG由来のストロークデータと加工した図形は [CC BY-SA 3.0](../../NOTICE.md) です。詳しくは[出典・ライセンス表記](../../NOTICE.md)をご覧ください。
## すべての手法と図解

[研究手法一覧](../../methods/)は日本語系 13 種・中国語系 11 種の探索済み手法を掲載し、各手法に個別の説明・実例・180°回転アニメーションを設けています。中国語系では固定ソースと**実際のアルゴリズム**から生成した22件のSVGを公開します。日本語系の歴史的検索実験については、当時の実験そのものの再現ではなく、現行KanjiVGを用いた入力説明図であることを明記しています。全手法は[読者ギャラリー](../../evaluation/recognition/)から辿れます。元の実験PR #14–#16 は履歴として維持し、実装コードはPR #28の統合作業で取り込まれています。読字検証は未達です。
