コンテンツにスキップ

ブログ・技術記事向けのシナリオ図版

自動運転・自動運転車・ADAS をテーマにした技術記事を書くときには、たいてい「自分が今扱っているシナリオの図」が必要になります。説明したい交差点、コーナーケース、コードが扱っているレーン構成 — どれも、本文の前にぽんと貼りたい一枚絵です。drawtonomy は こうした図 を、Web 向けに整えた形式で書き出すのに向いています。

このページは 自動運転の論文向け図版 のブログ・記事版です。キャンバスは同じで、出力側の制約だけが違います。

ブログ・記事向けの図に必要なこと

Section titled “ブログ・記事向けの図に必要なこと”

論文向け図版とは要件が少しずれます。

  • そのまま貼れる。Markdown / MDX / Zenn / Qiita / note / Substack / Ghost の編集画面に、変換なしで貼れることが望ましい。
  • ライト・ダーク両モードで読める。多くの技術ブログがダークモードに対応しています。図もどちらの背景でも読める作りにするか、ダーク版を別に用意します。
  • 軽い。1 枚 4 MB の PNG はページの読み込みを重くし、SEO にも効きます。SVG か、適切に圧縮した PNG が標準的な選択肢です。
  • OG 画像にも転用できる。記事を X(Twitter)、LinkedIn、Bluesky、はてなブックマークで共有したときに OG 画像として使われるのは、たいてい本文の図そのものです。縦横比と、サムネサイズでの読みやすさが効きます。
  • 後から編集できる。記事はあとから直すもの。図も「描き直し」ではなく「編集」で更新できる必要があります。

drawtonomy の標準フォーマットは、これらにそのまま乗ります。

  • .drawtonomy.svg(drawtonomy 独自の SVG 形式) は正規の SVG として HTML / Markdown / MDX のどこにでも貼れ、しかも drawtonomy で開き直せば再編集できます。
  • PNG エクスポート は高 DPI で出せるので、SVG が使えない先(LinkedIn の OG プレビューなど)でも問題ありません。
  • 無限キャンバス で広めに描いておけば、OG 画像のアスペクト比に合わせて切り出すのが容易です。

典型的な記事向けの図を作る一連の流れは、たとえば次のようになります。

  1. 何を 1 枚で言いたいかを決める。1 つの図につき主張は 1 つ。パイプライン全体を 1 枚に詰め込もうとしない。
  2. drawtonomy.com で描く。道路・レーン・交差点・車両・歩行者・軌跡・テキストラベル。
  3. ライト / ダーク両方で見えるスタイルにする#fff の背景でも #1a1a1a の背景でも読める色を選ぶ。純白の線(ライト背景で消える)と純黒の線(ダーク背景で消える)は避け、中間グレーを基調にすると両方で読めます。
  4. キャンバスのトリミングを決める。重要な部分が中央寄りに来るように構図を決める。同じ図を OG カードにも使うなら、おおよそ 1200 × 630 で収まる構図にする。
  5. .drawtonomy.svg で保存する。これが編集可能なソースです。技術記事の多くは公開後に少なくとも 1 度は更新される(typo 修正、訂正、続編記事との関連図追加など)ので、.drawtonomy.svg を残しておくと、更新が「描き直し」ではなく「編集」で済みます。
  6. 実際に配布するアセットを書き出す。同じシーンから:
    • .png を 1200 × 630 で OG カード用に(LinkedIn / X / はてなブックマークのプレビュー)。
    • フラット SVG を記事本文用に — ブログプラットフォームが .drawtonomy.svg よりも素の SVG を好む場合に使います(モダンなプラットフォームならどちらも有効な SVG として扱ってくれます)。
  7. 貼る。ブログエディタにドロップ。代替テキスト(alt)は必ず書く。検索エンジンとスクリーンリーダーの両方が頼りにします。

SVG であれば解像度は関係なく、レイアウトに合わせて自動でスケールします。PNG で出力する場合のおおよその目安は次のとおりです。

用途サイズ
記事本文の図(横幅いっぱい)1600 × 900
記事本文の図(半分幅)800 × 450
OG / 各種 SNS の共有カード1200 × 630
X(Twitter)カード1200 × 600
LinkedIn の共有画像1200 × 627
GitHub README のヒーロー1200 × 600(README のレイアウトに合わせて)

Markdown / MDX (Zenn、Qiita、Astro、Next.js などの MDX ベースのブログ):

![カットインシナリオ:自車 90 km/h、カットイン車両は相対 +20 km/h](./cut-in.svg)

HTML でダークモード版を用意する場合:

<picture>
<source media="(prefers-color-scheme: dark)" srcset="./cut-in-dark.svg">
<img src="./cut-in.svg" alt="カットインシナリオ:自車 90 km/h、カットイン車両は相対 +20 km/h">
</picture>

GitHub README に貼って、リポジトリの OG プレビューとしても使う場合:

![カットインシナリオの図版](./docs/img/cut-in.png)

技術記事ならではのスタイル指針

Section titled “技術記事ならではのスタイル指針”
  • 1 シナリオ 1 枚。3 つの場合を比較する記事なら、3 つの図を描く。1 枚に詰め込まない。
  • 注釈は図の中に。短いラベル(「TTC = 2.5s」など)は図に埋め込む。長い説明は本文に。
  • シリーズで自車の見た目を揃える。連載記事の場合は、シリーズを通して自車の色・形を固定する。
  • シミュレータのスクリーンショットは避ける。drawtonomy で描いた汎用的なシナリオ図なら、出典・再利用権の問題が起きません。
  • フォトリアルなイラスト。drawtonomy は厳密に俯瞰 2D です。センサー視点のレンダリングは、シミュレータのスクリーンショットを使ってください。
  • アニメーション。drawtonomy が書き出すのは静止画です。「時間とともにカットインが進行する」ような動きの説明は、静止画を複数枚並べるか、OpenSCENARIO に書き出して esmini で再生したものを録画する形にします。