ゼロから始めるBVE5(7)~他線の設定 1(縦曲線が絡む場合)~

| コメント(0)

今回は他線の敷き方です。
サンプルとなる場所は高崎駅構内のココ。
9007a.jpg
上越線をお楽しみ頂いている皆様にはおなじみの場所かと思います。
右端の新幹線を除けば5本の線路が並んでいます。

まずは手始めに上越上り線を敷いてみたいのですが、その前に縦断面図を見てみましょう。
9007c.gif
図より信越上り線と他線の勾配変化点が同じではないこと、信越上り線が
一定勾配のところ、途中の75548m地点で他線は勾配が変化していることがわかります。

自線の勾配設定はこのシリーズの4回目でやりましたので、先に設定します。

75000;Gradient.BeginConst(0);//仮設
75010;Gradient.BeginConst( 1.8);//仮設

75387;Gradient.BeginTransition();
75389;//勾配標+1.8→+3.0;
75391;Gradient.BeginConst( 3.0);

75545;Gradient.BeginTransition();
75548;//勾配標+3.0→+4.5;
75551;Gradient.BeginConst(4.5);


続いて上越上り線を設定してみます。新たな構文が出てきます。

75335;Track[1].Position( 3.8000, 0.0000);
Repeater[Rail-01].Begin0(1, 3, 5, 5, Rail-100);//距離は仮設
75530;Track[1].Position( 3.8000, 0.0000);
Repeater[Rail-01].End();//距離は仮設

BVE4までのRail構文は線路の位置とストラクチャを一緒に決めていましたが、
BVE5では両者が分離され、別の構文でそれぞれを設定しています。

構文の説明です。
・Track[1].Position( 3.8000, 0.0000);
旧Rail構文のストラクチャ番号を抜いた.Rail 1; 3.8000; 0.0000部分と同意です。
つまり3.80000の個所が自線から見たx座標、0.0000の個所が自線から見たy座標です。
小数点以下4桁を書いていますが、単に見栄えの問題からですので、
( 3.8, 0)で問題ありません。単位はいずれも[m]です。
[ ]内の文字列が軌道名となりますが、数字に限らずひらがな等でも大丈夫みたいです。

・Repeater[Rail-01].Begin0(1, 3, 5, 5, Rail-100);
シリーズ最初の回でも出てきた構文ですが、
同じストラクチャを繰り返し配置する場合に使います。
ただし設置する線路に対してストラクチャを平行移動や回転しない場合に限ります
 [Rail-01]:繰り返しを定義する名前 名前がダブらないように注意
      (Track[1]に対してのレールストラクチャの繰り返し、の意味で定義)
 1つ目の1:ストラクチャを繰り返す軌道の定義名(Track[1]の[ ]内の文字)
 2つ目の1:ストラクチャの傾斜設定で、0~3の値を入れられます。
      0は常に垂直(用途例:架線柱)
      1は勾配に連動して前後方向に傾斜(用途例:架線)
      2はカントに連動して左右方向に傾斜(用途例:何かありました......?)
      3は勾配・カントの両方に連動して前後左右に傾斜(用途例:軌道)
 1つ目の5:5m先の地点に弦の一端を置き、その弦上にストラクチャを配置
 2つ目の5:5mごとに繰り返してストラクチャを配置
 Rail-100:繰り返すストラクチャの定義名

これで上越上り線の設定は終わりです。信越下り線や北部入換線も同様に設定できます。


次に自線と勾配が異なる他線の設定です。
まずは簡単な自線:一定勾配、他線:一定勾配の場合を見てみましょう。

75450;Track[3].Position(13.2000, 0.4995);
75545;Track[3].Position(13.2000, 2.1145);

前後が縦曲線ではさまれている区間だけを抜粋してみました。
当然ながらストラクチャの設定をする必要がありますが、
これは縦曲線が始まるより手前で行うことなので、この場所ではしません。

両構文間の距離は95m、高低差は1.615mありますが、両線の勾配は共に一定なので
上越線からみた信越上り線の勾配も一定になります。
このように他線の高さや距離が直線的に変化する場合は
両端にTrack[trackKey].Position(x, y)構文を置くだけですみます。
逆に言えば(x, y)が異なる2点間は高さや距離が直線的に変化するので、
高さや距離が曲線的に変化する縦曲線や分岐器等では設定に注意が必要です

というわけで、注意が必要な縦曲線区間を見てみましょう。
9007d.gif
上の図で信越上り線の高さは(2)-(1)で表せます。

BVE5側での縦曲線区間の計算法は、縦曲線開始点をBVC、縦曲線長をVCL、
縦曲線手前側の勾配をP1、向こう側の勾配をP2とすれば
BVCからx[m]地点での勾配はP=P1+x/VCL*(P2-P1)で求められるようです。
この勾配Pでは1mの間に高さはP[mm]変化するので、(1)、(2)共に容易に求められます。

この計算を5mごとにした結果、この区間は以下の構文で表すことができます。

75000;Gradient.BeginConst(0);//仮設
75010;Gradient.BeginConst( 1.8);//仮設

75335;Track[1].Position( 3.8000, 0.0000);
Repeater[Rail-01].Begin0(1, 3, 5, 5, Rail-100);
Track[3].Position(13.2000, 0.0000);
Repeater[Rail-03].Begin0(3, 3, 5, 5, Rail-100);
75385;Track[3].Position(13.2000, 0.0000);
75387;Gradient.BeginTransition();
75390;Track[3].Position(13.2000,-0.0018);
75391;Gradient.BeginConst( 3.0);
75395;Track[3].Position(13.2000,-0.0046);
75400;Track[3].Position(13.2000, 0.0008);
75405;Track[3].Position(13.2000, 0.0143);
75410;Track[3].Position(13.2000, 0.0360);
75415;Track[3].Position(13.2000, 0.0657);
75420;Track[3].Position(13.2000, 0.1036);
75425;Track[3].Position(13.2000, 0.1496);
75430;Track[3].Position(13.2000, 0.2037);
75435;Track[3].Position(13.2000, 0.2660);
75440;Track[3].Position(13.2000, 0.3363);
75445;Track[3].Position(13.2000, 0.4148);
75447;//縦曲線終了
75450;Track[3].Position(13.2000, 0.4995);

75545;Gradient.BeginTransition();
Track[3].Position(13.2000, 2.1145);
75550;Track[3].Position(13.2000, 2.1958);
75551;Gradient.BeginConst(4.5);
75555;Track[3].Position(13.2000, 2.2733);

75630;Track[1].Position( 3.8000, 0.0000);
Repeater[Rail-01].End();
Track[3].Position(13.2000, 3.4357);
Repeater[Rail-03].End();

9007e.jpg
綺麗に設定できました。


縦曲線は緩和曲線に比べれば計算は簡単ですが、
やはり面倒だろうと思いますので、緩和曲線に続き計算ファイルを作りました。
◆ 計算ファイルDL ◆ (Ver.0.2 2012.7.29)
(上の計算もこれで行っています)

簡単に使い方ですが、縦曲線計算表、というワークシートを開きます。
数字を入れるのは下図赤枠の箇所です。
勾配1は縦曲線の手前側の勾配、勾配2は縦曲線の向こう側の勾配で、
円曲線半径は直線ならば0を入れて下さい。
計算された高さはHeightの列に出ます。
9007b.gif
検証が不十分ですので、不都合ありましたらお知らせ下さい。

次回は自線:緩和曲線を含むS字曲線、他線:直線の場合を考えたいと思います。



7回までのマップファイル全文です。

9773M-map.txt

bvets map 1.00
Structure.Load(structures.txt);
Station.Load(stations.txt);

0;Gauge.Set(1.067);
Repeater[Rail0].Begin0(0, 3, 5, 5, Rail-100);


74740;Station[sta701].Put(-1, -5, 5);
77460;Station[sta702].Put(-1, -5, 5);
78720;Station[sta703].Put(-1, -5, 5);
82100;Station[sta704].Put(1, -5, 5);
86950;Station[sta705].Put(1, -5, 5);
92470;Station[sta706].Put(-1, -5, 5);
95910;Station[sta707].Put(-1, -5, 5);


75000;Gradient.BeginConst(0);//仮設
75010;Gradient.BeginConst( 1.8);//仮設

75335;Track[1].Position( 3.8000, 0.0000);
Repeater[Rail-01].Begin0(1, 3, 5, 5, Rail-100);
Track[3].Position(13.2000, 0.0000);
Repeater[Rail-03].Begin0(3, 3, 5, 5, Rail-100);
75385;Track[3].Position(13.2000, 0.0000);
75387;Gradient.BeginTransition();
75390;Track[3].Position(13.2000,-0.0018);
75391;Gradient.BeginConst( 3.0);
75395;Track[3].Position(13.2000,-0.0046);
75400;Track[3].Position(13.2000, 0.0008);
75405;Track[3].Position(13.2000, 0.0143);
75410;Track[3].Position(13.2000, 0.0360);
75415;Track[3].Position(13.2000, 0.0657);
75420;Track[3].Position(13.2000, 0.1036);
75425;Track[3].Position(13.2000, 0.1496);
75430;Track[3].Position(13.2000, 0.2037);
75435;Track[3].Position(13.2000, 0.2660);
75440;Track[3].Position(13.2000, 0.3363);
75445;Track[3].Position(13.2000, 0.4148);
75447;//縦曲線終了
75450;Track[3].Position(13.2000, 0.4995);

75545;Gradient.BeginTransition();
Track[3].Position(13.2000, 2.1145);
75550;Track[3].Position(13.2000, 2.1958);
75551;Gradient.BeginConst(4.5);
75555;Track[3].Position(13.2000, 2.2733);

75630;Track[1].Position( 3.8000, 0.0000);
Repeater[Rail-01].End();
Track[3].Position(13.2000, 3.4357);
Repeater[Rail-03].End();


89809;Curve.BeginTransition();
89858;Curve.BeginCircular(-600, -0.070);
90092;Curve.BeginTransition();
90167;Curve.End();

90195;Curve.BeginTransition();
90270;Curve.BeginCircular(600, 0.070);
90334;Curve.BeginTransition();
90409;Curve.End();

89700;Gradient.BeginTransition();//仮設
89710;Gradient.BeginConst(10);//仮設

89792;Gradient.BeginTransition();
89801;//勾配標+10.0→+4.5;
89809;Gradient.BeginConst(4.5);

90066;Gradient.BeginTransition();
90081;//勾配標+4.5→-3.0;
90096;Gradient.BeginConst(-3.0);

90495;Gradient.BeginTransition();
90515;//勾配標-3.0→+10.0;
90534;Gradient.BeginConst(+10);

structures.txt

bvets structure list 0.02
Rail-100,structures\ballast-5.x

stations.txt

bvets station list 1.01
sta701,高  崎,,,,,0,,0,,,0,0
sta702,高崎問屋,,,,,0,,0,,,0,0
sta703,井  野,,,,,0,,0,,,0,0
sta704,新 前 橋,,,,,0,,0,,,0,0
sta705,群馬総社,,,,,0,,0,,,0,0
sta706,八 木 原,,,,,0,,0,,,0,0
sta707,渋  川,,,,,0,,0,,,0,0

ファイル構成
9003b.gif

コメントする

カテゴリ

  • 公開•更新
  • 製作中
  • 取材
  • 雑記
  • BVE5 (14)

アーカイブ

Twitter

連絡先

  • E-mail

    • 迷惑メール振分け防止のため、件名に「BVE」を入れてください