緩和曲線1
しばらくの間研究(?)していた緩和曲線ですが、基本的なことがわかったのでひとまず発表。
その前に。
VRMで緩和曲線といえば、ここが初めての例ではないかと思われますが、これは曲線への導入部分も同じ半径の円曲線…難しいこと言っても無駄なので一言で表せばVRM3(フレキシブルレールが無いので)「擬似的」であったにすぎません。
が、現在はフレキシブルレールという便利な代物があるので、これを使えば(ベジエ曲線の計算による制約を除けば)ほぼ正確な緩和曲線が得られます。得られるはずです。たぶん。
まず、緩和曲線は3次曲線(y=ax^3のグラフの曲線)で構成されています。実は、このことだけ分かれば、かなり適当な緩和曲線を描くことができなくも無いですが、緩和曲線の角度がバラバラになってしまいます。
ですから、緩和曲線部分をVRMで都合の良い15度に固定したいですよね。
微分とやらにより、
y=ax^3上の点P(t,at^3)におけるグラフの接線の傾きは
(傾き)=3at^2で表される
です。
この傾きが、15度傾いている直線の傾きと等しければ、緩和曲線は円曲線とスムーズに移行します。
15度傾いている直線の傾きは、三角比により
(傾き)=(√6-√2)/(√6+√2)≒0.267949
で表すことが出来ます。
ここで、aまたはtを決定してやると緩和曲線と円曲線の接合部の、相対座標を算出出来ます。
…って、図がないから読んでも分からないよね(苦笑。いや、自分もこれが正しいかどうかあまり確信がもてません。
これが、適当なaを決めてみた図です。円曲線の部分の半径は適当なわけですが(だいたい合ってるんじゃないかな?)、これでも綺麗な緩和曲線ができていますね。フレキシブルレールのポリゴンの伸び方が凄いですけれども。
忙しいので、パッと思いついたことだけをまとめた形になりましたが、時間ができたら円曲線の半径と緩和曲線(三次曲線)の3次の係数の関係を調べてみようと思います。
それから、間違いがあったらご指摘くださると幸いです。
| 固定リンク
「VRM:研究」カテゴリの記事
- VRMNXの時間系イベントが使いにくいなあと思っているアナタへ(2019.12.24)
- [VRMNX] フレーム同期の話(2019.07.18)
- [Python] リスト型をベクトルに見立てて計算したい(2019.06.16)
- VRMNXのレイヤーベース地形を使ってみよう(前編)(2019.05.18)
- [VRMNX]自動踏切モジュール(2019.01.25)
この記事へのコメントは終了しました。




コメント