N88-BASICで懸垂線(改訂版)

2025/8/25()
N88-BASICで懸垂線(改訂版)
 
(catenary)
懸垂線(カテナリー、紐を垂らしたときの曲線)
 
 前提
https://ulprojectmail.blogspot.com/2025/08/catenary-8.html
懸垂線(改訂版) (8回目)
より
 
 定義
g  :重力加速度[m/s2]
ρ :紐の線密度[kg/m]
L  :紐の長さ[m] (0 < √(x12 + y12) < L)
x1 :紐の両端間の水平距離[m]
y1 :紐の左端に対する右端の高さ[m]
が分かっている
 
H  :水平張力[N] (紐の頂点での張力)
x0 :左端から紐の底までの水平距離[m]
y  :紐の高さ[m] (紐の左端を原点とするxの関数)
 
 H
H = ρgλ
 
 y(x)のグラフ
λをニュートン法で求める
α = log{(1 + y1/L)/(1 - y1/L)}と置く
β = (1/L)cosh(α/2)と置く
f(λ) = 2βsinh(x1/(2/λ)) - 1/λ = 0
f'(λ) = (1/λ2){1 - βx1cosh(x1/(2λ))}
 
初期値λ0 = x1/[2√{6/(βx1) - 6}]      … 近似式
Δλn = f(λn)/f'(λn)
λn+1 = λn - Δλn 
λ = λn+1 (if λn| < ε)
以上により誤差ε程度で λ を求めることができる
 
L, x1, y1 から求めたλ以下に代入
α = log{(1 + y1/L)/(1 - y1/L)}と置く
x0 = (1/2)(x1 - λα)
y(x) = λ{cosh(x - x0) - cosh(x0)}
 
 解説
▼ 操作
矢印キーまたはマウスで右端を移動する
Alt+6で高速化します
 
 
VL,NL-BASICとdlg~.zip(cate201.bas)は
このブログ(以下のリンク)から
ダウンロードできます
https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい













 


このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)

d88ファイルの変換 (1回目)