「プラグイン開発資料/乗客の計算(V2)」の編集履歴(バックアップ)一覧はこちら

プラグイン開発資料/乗客の計算(V2)」(2010/05/23 (日) 09:23:55) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#right(){最終更新日時:&lastmod()} #hr(height=4,color=#1E90FF) &small(){&topicpath()} *乗客の計算(V2) この文書は、(旧)FreeTrain フォーラム内の情報をもとに作成しています。 このページの内容は、「V2」本体&プラグインの組み合わせを解説しています。 該当する本体バージョンは、FreeTrain EX Av β2.1.0.1~とα3.1.0.1~になります。 #hr(height=4,color=#1E90FF) **建物の数値 建物には、「人口を含む建物」と「人口を含まない建物」とがあります。人口を含まない建物は、プラットホームや工事現場など、人口を含む建物は、住居やオフィスです。 人口を含む建物は、最も近い「駅」及び「近い順に4つ目までの駅」と接続されます。建物に住んでいる人は、それらの駅を利用します。 建物には、「建物の基準人口」を設定します。この数値は、実際に建物に住んでいる人の数です。 建物には、また、「建物の人口」という数値もあります。これは、この建物から駅を利用したいと思う人の数であり、時間帯によって変化します。 具体的には、「建物の基準人口」に、時間帯ごとに変化する数値(百分率)を掛けたものになります。 この変化は、各人口の種別が持つ表によって割合が決まっています。 #blockquote(){ 建物の人口 = 建物の基準人口 × 時間帯ごとに変化する利用割合 } 「建物の基準人口」は、住んでいる人のほか、その建物で働いている人や買い物に利用しにきた人が含まれます。 ですので、地表プラグインの「畑」であっても、その畑に働きに出てきたお百姓さんが家に帰ろうとした時の「建物の人口」が発生するわけです。決して畑に住んでいる、わけではありません。 この利用割合については、[[乗客計算率%(V2案)>プラグイン開発資料/乗客計算率%(V2案)]]を参照してください。 なお、「建物の人口」は、「建物の立地地価+10」で上限制限を受けます。 #blockquote(){ 建物の人口 = Math.Min( 建物の人口, 地価+10 ) } 地価が50の土地に立っている建物は、最大で60人しか出てきません。 これは、地価が低い=その駅周辺に乗降が少ない=周辺物件の利用率が低い=出てくる人数も少ない、という考え方によるものです。 #hr(height=2,color=#1E90FF) **駅の数値 駅は、「駅利用人口」を持ちます。この数値は、駅に接続されているすべての建物の「建物の人口」を合計したものです。「建物の人口」は時間帯によって変化しますので、「駅利用人口」も同様に変化します。 この「駅利用人口」が、乗客数の計算の基本となります。 #blockquote(){ 駅利用人口 = 建物の人口の合計 } 駅は、「消費乗客数」という数値も持ちます。この数値は、「駅利用人口」のうち、実際に乗客として列車に乗った人数を表します。 #blockquote(){ 消費乗客数 += 乗客数 } この数値は、出かけた人が戻ってくることを表すため、1時間ごとに0.8倍されていきます。 #blockquote(){ 消費乗客数 *= 0.8 } #hr(height=2,color=#1E90FF) **乗客数を計算する 乗客数は、列車が駅を発車するときに計算します。 このとき、(駅利用人口-消費乗客数)人が列車に乗れる人数です。 しかし、これを一度に乗せてしまうと都合が悪いため、この人数の3割を上限とします。 すなわち、 #blockquote(){ (駅利用人口 - 消費乗客数) × 30% } ここで、V2で追加した要素として列車の魅力<amenity>というものがあります。 <amenity>は基本100ですが、快適な特急列車では高めの120、古い103系では90などとなっています。 この<amenity>値をそのまま前述の式にかけます。 #blockquote(){ (駅利用人口 - 消費乗客数) × 30%×魅力% } これと、発車する列車の詰め込み乗客上限のどちらか少ない方が、その列車に乗車します。 最終的には、 #blockquote(){ 乗客数 = min( (駅利用人口 - 消費乗客数) * 0.3 * amenity , 列車の詰め込み乗客上限) } となります。 #hr(height=2,color=#1E90FF) **詰め込み乗客上限を計算する 前の項で、「詰め込み乗客上限」という数値が出てきました。 「詰め込み乗客上限」は、FreeTrain EX Av本体でそのつど計算して求めています。その計算式は次のとおりです。 まず列車には、「定員」というものがあります。これは列車プラグインの中の車両定義において<capacity>として書かれた値となります。通勤電車では140~150人ぐらい、特急電車では40~60人ぐらいになります。 しかし現実の鉄道の風景を見ると、特急列車は座席のある定員分しか通常乗客は乗りませんが、通勤電車では乗車率180%だとか200%だとかの超満員になっています。「定員」きっちりしか乗せないということは、通常ありません。これもある程度シミュレートしたいです。 そこで、V2プラグインで追加した要素として「着席定員」があります。<seatedcapacity>として書かれた値です。特急列車やグリーン車では定員<capacity>とまったく同じ数値が入りますが、通勤電車では30~50ぐらいの数値となります。 このplugin.xmlに記入された「着席定員」<seatedcapacity>を利用して、FreeTrain EX Av本体は「立席定員」を求めます。 #blockquote(){ 立席定員 = 列車の定員 - 着席定員 } 着席定員はどんなに乗客が列車に殺到していても変わりません。7人がけのシートに8人座ることはできません。 ラッシュ時に詰め込まれるのは、立席の分だけです。 そこで「立席には、定員の2倍まで詰め込める」と仮定します。 #blockquote(){ 詰め込み立席上限 = ( 列車の定員 - 着席定員 ) * 2 } あとは、この「着席定員」と「詰め込み立席上限」を足すと、その車両の「詰め込み乗客上限」が求まります。 #blockquote(){ 詰め込み乗客上限 = 着席定員 + ( 列車の定員 - 着席定員 ) * 2 } 特急列車など、着席定員=列車の定員であるばあいには、詰め込み乗客上限=着席定員=列車の定員、になっていることが分かると思います。 一方、列車の定員150・着席定員54の通勤電車であれば、詰め込み乗客上限は246となります。このときの乗車率は164%です。 #hr(height=2,color=#1E90FF)
#right(){最終更新日時:&lastmod()} #hr(height=4,color=#1E90FF) &small(){&topicpath()} *乗客の計算(V2) この文書は、(旧)FreeTrain フォーラム内の情報をもとに作成しています。 このページの内容は、「V2」本体&プラグインの組み合わせを解説しています。 該当する本体バージョンは、FreeTrain EX Av β2.1.0.1~とα3.1.0.1~になります。 #hr(height=4,color=#1E90FF) **建物の数値 建物には、「人口を含む建物」と「人口を含まない建物」とがあります。人口を含まない建物は、プラットホームや工事現場など、人口を含む建物は、住居やオフィスです。 人口を含む建物は、最も近い「駅」及び「近い順に4つ目までの駅」と接続されます。建物に住んでいる人は、それらの駅を利用します。 建物には、「建物の基準人口」を設定します。この数値は、実際に建物に住んでいる人の数です。 建物には、また、「建物の人口」という数値もあります。これは、この建物から駅を利用したいと思う人の数であり、時間帯によって変化します。 具体的には、「建物の基準人口」に、時間帯ごとに変化する数値(百分率)を掛けたものになります。 この変化は、各人口の種別が持つ表によって割合が決まっています。 #blockquote(){ 建物の人口 = 建物の基準人口 × 時間帯ごとに変化する利用割合 } 「建物の基準人口」は、住んでいる人のほか、その建物で働いている人や買い物に利用しにきた人が含まれます。 ですので、地表プラグインの「畑」であっても、その畑に働きに出てきたお百姓さんが家に帰ろうとした時の「建物の人口」が発生するわけです。決して畑に住んでいる、わけではありません。 この利用割合については、[[乗客計算率%(V2案)>プラグイン開発資料/乗客計算率%(V2案)]]を参照してください。 なお、「建物の人口」は、「建物の立地地価*建物XYZサイズ+10」で上限制限を受けます。 #blockquote(){ 建物の人口 = Math.Min( 建物の人口, 地価*建物XYZサイズ+10 ) } (建物XYZサイズの判定利用は、β2.1.1.2以降となります。2.1.1.1以前では地価+10で判定されます) 地価が50の土地に立っている1x1x1の建物は、最大で60人しか出てきません。 これは、地価が低い=その駅周辺に乗降が少ない=周辺物件の利用率が低い=出てくる人数も少ない、という考え方によるものです。 なお、建物サイズのかけ率については、高さを条件から外しXYサイズのみにしようか、という議論の最中です。 テストプレイと今後の議論により、XYサイズになる場合があります。 #hr(height=2,color=#1E90FF) **駅の数値 駅は、「駅利用人口」を持ちます。この数値は、駅に接続されているすべての建物の「建物の人口」を合計したものです。「建物の人口」は時間帯によって変化しますので、「駅利用人口」も同様に変化します。 この「駅利用人口」が、乗客数の計算の基本となります。 #blockquote(){ 駅利用人口 = 建物の人口の合計 } 駅は、「消費乗客数」という数値も持ちます。この数値は、「駅利用人口」のうち、実際に乗客として列車に乗った人数を表します。 #blockquote(){ 消費乗客数 += 乗客数 } この数値は、出かけた人が戻ってくることを表すため、1時間ごとに0.8倍されていきます。 #blockquote(){ 消費乗客数 *= 0.8 } #hr(height=2,color=#1E90FF) **乗客数を計算する 乗客数は、列車が駅を発車するときに計算します。 このとき、(駅利用人口-消費乗客数)人が列車に乗れる人数です。 しかし、これを一度に乗せてしまうと都合が悪いため、この人数の3割を上限とします。 すなわち、 #blockquote(){ (駅利用人口 - 消費乗客数) × 30% } ここで、V2で追加した要素として列車の魅力<amenity>というものがあります。 <amenity>は基本100ですが、快適な特急列車では高めの120、古い103系では90などとなっています。 この<amenity>値をそのまま前述の式にかけます。 #blockquote(){ (駅利用人口 - 消費乗客数) × 30%×魅力% } これと、発車する列車の詰め込み乗客上限のどちらか少ない方が、その列車に乗車します。 最終的には、 #blockquote(){ 乗客数 = min( (駅利用人口 - 消費乗客数) * 0.3 * amenity , 列車の詰め込み乗客上限) } となります。 #hr(height=2,color=#1E90FF) **詰め込み乗客上限を計算する 前の項で、「詰め込み乗客上限」という数値が出てきました。 「詰め込み乗客上限」は、FreeTrain EX Av本体でそのつど計算して求めています。その計算式は次のとおりです。 まず列車には、「定員」というものがあります。これは列車プラグインの中の車両定義において<capacity>として書かれた値となります。通勤電車では140~150人ぐらい、特急電車では40~60人ぐらいになります。 しかし現実の鉄道の風景を見ると、特急列車は座席のある定員分しか通常乗客は乗りませんが、通勤電車では乗車率180%だとか200%だとかの超満員になっています。「定員」きっちりしか乗せないということは、通常ありません。これもある程度シミュレートしたいです。 そこで、V2プラグインで追加した要素として「着席定員」があります。<seatedcapacity>として書かれた値です。特急列車やグリーン車では定員<capacity>とまったく同じ数値が入りますが、通勤電車では30~50ぐらいの数値となります。 このplugin.xmlに記入された「着席定員」<seatedcapacity>を利用して、FreeTrain EX Av本体は「立席定員」を求めます。 #blockquote(){ 立席定員 = 列車の定員 - 着席定員 } 着席定員はどんなに乗客が列車に殺到していても変わりません。7人がけのシートに8人座ることはできません。 ラッシュ時に詰め込まれるのは、立席の分だけです。 そこで「立席には、定員の2倍まで詰め込める」と仮定します。 #blockquote(){ 詰め込み立席上限 = ( 列車の定員 - 着席定員 ) * 2 } あとは、この「着席定員」と「詰め込み立席上限」を足すと、その車両の「詰め込み乗客上限」が求まります。 #blockquote(){ 詰め込み乗客上限 = 着席定員 + ( 列車の定員 - 着席定員 ) * 2 } 特急列車など、着席定員=列車の定員であるばあいには、詰め込み乗客上限=着席定員=列車の定員、になっていることが分かると思います。 一方、列車の定員150・着席定員54の通勤電車であれば、詰め込み乗客上限は246となります。このときの乗車率は164%です。 #hr(height=2,color=#1E90FF)

表示オプション

横に並べて表示:
変化行の前後のみ表示: