追いつかれた車両の義務と渋滞の関係
このサイトは、「追いつかれた車両の義務」がある道路とない道路を同時に走らせ、渋滞のできかたにどのような差が生まれるかを観察する3Dシミュレーションです。
このサイトは何か
画面には、3車線の道路が2本並んでいます。L区間では後ろから速い車に追いつかれた車両が道を譲り、R区間ではその義務がないものとして車両が走ります。2本の道路を同時に眺めることで、ルール1つの有無が交通の流れに与える影響を比べられます。
車両の動きはThree.jsで立体的に描画されます。渋滞の数値だけでなく、車間の詰まりがどこで始まり、後方へどう広がるかも目で追えます。
「追いつかれた車両の義務」とは何か
本シミュレーションが想定する片側3車線の高速道路、つまり車両通行帯のある道路で適用されるのは、道路交通法第20条の通行区分です。追越車線は追越しをするときに通行し、追越しを終えた後も走り続けるための車線ではありません。
一方、道路交通法第27条には、後方からより速い車に追いつかれた車両が進路を譲る義務が定められています。ただし、第2項には「車両通行帯の設けられた道路を通行する場合を除き」という但し書きがあるため、車両通行帯のある高速道路には直接適用されません。車両通行帯のない一部の道路には適用されることから、「追いつかれたら譲った方が良い」という主張はしばしば議論の的になります。
本シミュレーションは、第27条と第20条を同一の法的義務として扱うものではありません。両者に共通する「速い車に進路を明け渡す/明け渡さない」という趣旨を抽象化し、L区間(譲る)とR区間(譲らない)の違いとしてモデル化しています。
ここでの説明はシミュレーションの前提を理解するための要約であり、個別の交通状況に対する法的助言ではありません。
なぜ譲らないと渋滞が起きるのか
追い越し車線を比較的遅い車が走り続けると、後ろから来た速い車は減速します。その後ろの車も車間を保つために減速し、小さな速度低下が車列の後方へ次々に伝わります。
交通量が多いと、この減速の波は簡単には消えません。事故や工事がなくても、車間の詰まりが連鎖して自然渋滞になることがあります。このシミュレーションでは、その過程と、道を譲る行動によって流れがどう変わるかを観察できます。
このシミュレーションの実験設計
L区間は「義務あり」、R区間は「義務なし」です。両区間で違うのは、後方から速い車に追いつかれたときに道を譲るというルールだけです。加速度、車間、合流、交通量をはじめとする物理パラメータは、すべて両区間で共通にしています。
これは、調べたい条件だけを変える対照実験です。両区間の渋滞に差が出た場合、その差をルールの効果として比較しやすくなります。「パラメータ調整室」で変更した値も両区間へ同じように適用されるため、条件を変えながら公平に比べられます。
渋滞スコアの読み方
渋滞スコアは0〜100で表示され、値が大きいほど混雑していることを表します。各区間の車両台数と平均速度もあわせて見ると、車が増えたために混んでいるのか、同じ程度の台数でも流れが遅くなっているのかを読み取りやすくなります。
画面下部の「どっちが勝ってるか」は、シミュレーション開始からどちらの区間がよりスムーズだったかを累積した時間で示します。一時点のスコアだけでなく、時間を通じた傾向を確認するための指標です。判定に使う重みや閾値は、パネル内の「判定基準」を開くと確認できます。
操作方法
- パソコンではドラッグで視点を回転し、ホイールでズームします。
- スマートフォンではスワイプで視点を回転し、ピンチでズームします。
- カメラボタンで視点モードを切り替えられます。
- ナイトモードボタンで昼と夜の表示を切り替えられます。
- 車両ペア生成間隔を変えると、両区間へ流入する交通量を調整できます。
- リセットボタンで車両と集計結果を初期状態に戻せます。
- パラメータ調整室では、車間や速度など両区間共通の条件を変更できます。
使用技術とソースコード
このサイトはThree.js、TypeScript、Vite+で作られています。ソースコードは GitHub で公開しており、MITライセンスのもとで利用できます。
シミュレーションについての免責
このシミュレーションは、現実の交通を理解しやすくするために単純化したモデルです。実際の道路には天候、道路形状、車種、運転者の判断など多くの要因があるため、表示される結果は現実の交通量や運転行動を正確に予測するものではありません。