自線が円曲線を描くときの座標計算

1.はじめに

前回は自線が直線で他線がカーブするときの他線のx座標の計算をしました。今回は他線が直線のまま、自線がカーブして分岐するという場合の計算をします。実は曲線半径が数百メートルとかなり大きいのでそこまで大きな差は出ないのですが念のため計算します。

2.計算式を考える


↑[画像A]BC間の距離を求めれば良さそう^q^

[画像A]の通り、BC間の長さを求めるためには、OC間から半径Rを引けば求まります。
というわけで、
線分OC = 半径R + 線分BC
[画像A]の桃色の部分は直角三角形です。三角関数の定義から、
cosθ = R / 線分OC
cosθ = R / (R + 線分BC)
BC間の距離について求めるので、
R * cosθ + 線分BC * cosθ = R
線分BC * cosθ = R - R * cosθ
cosθで割って、
線分BC = -R + R / cosθ

さて、cosθが出てきました。θの値がわからないと出てきません。
ところで、この半径Rと自線の曲線部分に囲まれた部分は扇形です。扇形の弧長は半径と中心角に比例するので、
自線の曲線長L = 半径R * θ
よって、中心角θは、
θ = L / R
弧長は自線の曲線長と同じなのでこれで中心角が出せます。

3.結果

最終的に他線までの距離BCの長さは、
線分BC = -R + R / cos(L / R)
曲線終点での自線と他線との角度はθです。

自線が右カーブすると他線は左に位置するので長さはマイナスに、左カーブすると他線は右側になるので、
線分BC = R - R / cos(L / R)
と、これで他線の位置が計算できるようになりました。

曲線長が長くなればなるほどBveの曲線補間にもズレが出てくるので適当な位置に他線座標を書く必要が出てきます。気になるときはやると綺麗になります。