
参考資料(2)等間隔の線分で繋がれた線をsinカーブ状にトレースする式
次の記事に関する活動に伴い参考とした(ChatGPT回答)資料です。
私>等間隔の線分で繋がれた線をsinカーブ状にトレースさせるためにN番目の線分の折れる角度を求める式を教えてください。
ChatGPT>等間隔の線分でつながれた線が正弦波(sinカーブ)をトレースするために、N番目の線分の折れる角度 $${θ_N}$$ を求める方法を考えます。
前提:
各線分の長さを $${L}$$ とする。
線分の端点がちょうど正弦波 $${y=Asin(kx)}$$ 上を通るように配置する。
各線分の始点を $${P_N=(x_N,y_N)}$$ とし、終点を$${P_{N+1}=(x_{N+1},y_{N+1})}$$ とする。
$${x}$$ 座標は等間隔で配置されるため、 $${x_{N+1}−x_N=d}$$ となる($${d}$$ は適当な固定値)。
1. 各点の座標
点 $${P_N}$$ の座標は以下のように表せます:
$${x_N=Nd \\ y_N=Asin(kx_N)=Asin(kNd)}$$
点 $${P_{N+1}}$$ は次のようになります:
$${x_{N+1}=(N+1)d \\ y_{N+1}=Asin(kx_{N+1})=Asin(k(N+1)d)}$$
2. 線分の傾き
線分 $${P_NP_{N+1}}$$ の傾き $${m_N}$$ は、
$${m_N=\frac{y_{N+1}−y_N}{x_{N+1}−x_N}=\frac{Asin(k(N+1)d)−Asin(kNd)}{d}}$$
これを三角関数の加法定理を使って変形すると、
$${m_N=\frac{2Acos(k(N+\frac{1}{2})d)sin(\frac{kd}{2})}{d}}$$
3. 折れる角度の計算
線分の折れる角度 $${θ_N}$$ は、線分 $${P_NP_{N+1}}$$ の傾きと $${P_{N+1}P_{N+2}}$$ の傾きの角度差に相当します。すなわち、
$${θ_N=tan^{−1}(m_{N+1})−tan^{−1}(m_N) \\ θ_N=tan^{−1}\Bigg(\frac{2Acos(k(N+\frac{3}{2})d)sin(\frac{kd}{2})}{d}\Bigg)−tan^{−1}\Bigg(\frac{2Acos(k(N+\frac{1}{2})d)sin(\frac{kd}{2})}{d}\Bigg)}$$
これが折れ曲がる角度の式になります。
まとめ
折れ曲がる角度 $${θ_N}$$ は、2つの隣接する線分の傾きの差として求められます。具体的には
$${θ_N=tan^{−1}(m_{N+1})−tan^{−1}(m_N)}$$
であり、各 $${m_N}$$ は
$${m_N=\frac{2Acos(k(N+\frac{1}{2})d)sin(\frac{kd}{2})}{d}}$$
によって決まります。
この式を使えば、等間隔の線分でsinカーブをトレースするための折れ角を計算できます。