どうも、最近ウグイスがやる気あるのかどうか疑っているさいほうへいきです!
今回はTrainCartsプラグインにおいての、車両の摩擦について解説していこうと思います!
まぁ小難しい知識を使う時はほぼ無いので、簡単な装置の設計であれば摩擦設定のコマンドくらいを覚えればいいかなと思います。
それでは、どうぞ!
摩擦とは
摩擦とは、固体表面が互いに接しているとき、それらの間に相対運動を妨げる力(摩擦力)がはたらく現象をいう。
https://ja.wikipedia.org/wiki/%E6%91%A9%E6%93%A6
要するに物体間においての運動方向と逆、つまり運動を妨げようとする力ということですね。

理系学生諸君はなんかいろいろあるかもしれませんが、今回は理論とかは割愛しておきます。というかみんな摩擦がだいたいどんなものかって分かるよね? 常識の範囲での摩擦の理解があれば今回は十分です。
で、TrainCartsにおいても摩擦は登場します。それが、進行しているトロッコを減速させる要素になります。
先程摩擦とは何かを挙げましたが、トロッコも運動をしている物体ですので、トロッコには進行方向とは逆向きに摩擦力が発生します。
まんクラにおいては鉄道プラグインのおかげで加速しかしないのですが、丸石製造機やn連かまどなどで使う際にはときたま摩擦による減速が発生し、最終的にはトロッコを停止させてしまうわけですね。
……とまぁMinecraftの中の話なのでかなり雑な紹介をしましたが、現実の車両においては、車輪に摩擦は思っているほど発生しません。
じゃあなにが減速させるのかというと、主な減速ファクターは転がり抵抗とか空気抵抗とかだったりします。この記事の主題とはあんまり関係ないですが、豆知識ね。
TrainCartsにおいては、たぶん分かりやすく便宜上『摩擦』としているんじゃないかなと思います。
摩擦の設定方法
いたってシンプルです!
とりあえず、設定したい車両に対して以下のようなコマンドを実行するだけ。
/train edit
/train friction [摩擦力]
摩擦力の数値に関してはなんでもいいです。
デフォルトは1で、摩擦をなくしたい場合は0、早く減速させたいならもっと増やせばおっけー。
摩擦をゼロに設定すると減速が発生しなくなります。装置などで加速看板をわざわざ置きたくない場合は、これでゼロにするのもいいでしょう。
マイナスの数にも設定できます。マイナスにすると、ご想像の通りどんどん加速していきます。まぁサーバーには上限速度が設定されていますので、そこに引っかかるまでということになりますね。
ちなみにですが、摩擦や重力関係なしに減速を無効化するコマンドもあります。摩擦とか考えなくていいのでこっちのほうが便利かも。
/train slowdown none
どのような減速をするのか?
というわけでここからはあまり必要のない蛇足部分というか、僕がいろいろと試してみた、摩擦や速度についてのメモです。
『エネルギー』
列車について詳しく見ていると分かるのですが、列車の速度を決めるファクターとして、速度の数値とは別に『エネルギー』なるパラメータが存在します。

たとえばこんな感じでテキトーに発進させてみると、速度0.4b/tに加え9.6のエネルギーが付与されています。
しばらく走行を続けているとエネルギーは摩擦その他の減速ファクターによって減少しますが、エネルギーがある場合は実際の速さに影響が及ぶことはありません。かわりに、エネルギーの数値がゴリゴリ削られていきます。

エネルギーがゼロになると実際の速度も徐々に減少していき、最終的に停車します。
付与されるエネルギーの量は看板の記法で指定できるようです。
なんか学術的なアプローチと、具体的な関数
速度0.4、エネルギーなしの状態で走らせ、速度を測定してみました! イェーイ。
試行回数は4回でやってみて、そのデータを式に当てはめてみました。四回だと少なすぎる感じもするので、もっと繰り返すことでより近しい式が出せるかな。
今回出した式はこのようになっています。
\( v(t) \approx 0.400 \,(0.888)^{t/2} \)
まぁざっくりいうと時間によって徐々に減少していきますが、その減少する幅も小さくなっていきます。原子の半減期とか、そこら辺を思い浮かべてもらうと分かりやすいでしょうか。
具体的な速度を算出したいときは、上記の式のtに秒を代入してやってください。
頭が痛くなってくるので、僕も難しいことはあんまり考えたくありません! 解説とかはここらで切り上げます。
便利かどうか分かりませんが、見やすいように表も軽く作っておきます。
| 経過秒数 (秒) | 速度 (b/t) |
|---|---|
| 0 | 0.4 |
| 1 | 0.3769 |
| 2 | 0.3552 |
| 3 | 0.3347 |
| 4 | 0.3154 |
| 5 | 0.2972 |
| 6 | 0.2801 |
| 7 | 0.264 |
| 8 | 0.2488 |
これ参考にしてもいいですが、僕は別に数学家でもなんでもない凡人なので、実は間違ってるかもしれません。なんか問題あったら教えてください、修正します。修正はしますが、補償はしません。よろしくね。
その他の減速要素
車両は重力で減速することがあります。
ただし、水平な面の場合重力は影響を及ぼさないようです。
それじゃあ重力はどこで干渉してくるのかというと、斜面を上り下りするときの速度やエネルギーに関係してきます。
現実世界との差異に関するまめちしき
先述の通りですが、現実世界での車両の減速は、単純に『摩擦』の一言で説明できるわけではありません。
というか、そもそも摩擦は減速の主原因ではありません。
かわりに転がり抵抗や空気抵抗という、摩擦とは似て非なる要因によって減速が起きます。転がり抵抗っていうのは簡単に言うと、車輪や円筒のようなまるっこいものが転がる際に起きる発生するエネルギー損失ですね。
実際の鉄道では、レールと車輪が滑っているわけではなく、基本的にはグルグルと『転がって』移動しています。
また、高速になるほど空気抵抗の影響も大きくなります。新幹線などで先頭車両の形状が工夫されているのもそういう理由で、カワセミのクチバシの話とかけっこう有名ですよね。
さきほど導いた近似式も、実は摩擦ではなく空気抵抗の式に近しいように見えます。
さらにそれ以外にも、いろんなの装置の内部にもわずかな抵抗が存在します。現実の車両はこうした様々な要素が組み合わさった結果として減速しているわけですね。
なので、TrainCartsの『摩擦』は厳密な意味での摩擦力というよりも、車両を減速させるさまざまな抵抗をわかりやすく一括りにしたパラメータだと思ったほうが分かりやすいかもしれません。
もちろんゲームですので、現実の鉄道工学を完全に再現する必要はありません。TrainCartsで装置や路線を設計するうえでは、『摩擦の値を上げると減速しやすくなり、下げると減速しにくくなる』と分かればまぁ十分じゃないかな、と思います。
まとめ
というわけで、今回はTrainCartsにおける摩擦の解説でした!
僕自身、プラグインのシステムや物理学についてそんなに詳しいわけではないのでちょっと説明が雑ですが、見逃してください。
では、今回はここまで!
ありがとうございました。



コメント