目次 | 前の話題 | 次の話題

名古屋高速の制作

1997年3月8日

最近、年度末ということもあって仕事が妙に忙しい。だから現実逃避、というわけでは ないのだが、昨日と今日は名古屋シーナリの改良にいそしんだ。 今回はそのなかで特に名古屋高速に関して書こうと思う。

1月に名古屋シーナリのオブジェクト公募を開始してから、多いとはいえないが リクエストがいくつか届いている。大抵はビル設置で対応できるものであったが、 中に一つ「名古屋高速をぜひ」というものがあった。

名古屋高速は以前から要望があったし、自分でも作ってみたいとはおもっていたが、手 を出せずにいた。理由は高架を作るのが大変だから。

高速道路といえば、伊藤誠吾 氏の首都高シーナリが有名である。この首都高の完成度は非常に高い。氏は高架の 一つ一つを全部手で作っているそうである。凄い根性である。

名古屋高速もこれと同じように作ることが可能、、、ではあるが、私にはこのようなこ とができる根性はない。だから、例によってできるだけ全自動で作る方法を考えた。 で、考えた方法が以下のような方法である。

最初はこれを全部やるつもりであった。だが、プログラムの設計に入ってからすぐに面 倒になってしまった。

まず脚部分の計算が面倒である。ちゃんと陰面処理をするためには、脚部分を高架より もかならず先に描画しなければならないし、隣あう2つのセグメント間でちゃんと脚の 間隔が合わなきゃならないし、道路が分岐しててもちゃんと間隔が合わないといけない。で、 これを解決するため方法をいろいろ考えたのだが、結局たどりついた画期的かつシンプ ルな方法は、

脚は描画しない

という方法である(爆)。

それと、接合点の計算もとても面倒くさい。たとえば3本以上の道路の接合点でどうやっ て位置合わせをするか?最初は以下のように真面目に計算するつもりだった。各高架の ポリゴンを6角形にするのである。

でも計算がとっても面倒くさいので、もうこんなのはやめて適当につないでしまうこと にした。連結部分で道路が切れてしまうと困る ので全部の高架の端を 3m余分に伸ばして強引にくっつけてしまう という せこい技を使った。だから連結部分はあまり奇麗じゃないが、気にしない(爆) 特にカーブが大きいところだとどうしても間隔が空いてしまう。

高架自体の高さを指定できるようにしたので、立体交差はできるが、まともな ジャンクションは作れない。

プログラムは例によって perl で作成した。ブツをここに おいておくので、使ってみたいという奇特な方はどうぞ。なお、例によってドキュメン トは一切ないので、自分でプログラムを読んで欲しい。

この後、名古屋高速の緯度・経度データを取って高架を作成した。 β版を公開してあるのでお試しあれ。


今回の内容についてアンケートにお答えください。
とても面白い まあまあ面白い 普通 あまり面白くない 全然駄目


目次 | 前の話題 | 次の話題