懸垂線(改訂版) (6回目)

2025/8/10()
懸垂線(改訂版) (6回目)
 
(catenary)
懸垂線(カテナリー、紐を垂らしたときの曲線)
 
■ 前提
 定義
g  :重力加速度[m/s2]
ρ :紐の線密度[kg/m]
L  :紐の長さ[m] (0 < √(x12 + y12) < L)
x1 :紐の右端のx座標[m]
x0 :紐の底のx座標[m]
H  :水平張力[N] (紐の頂点での張力)
y  :紐の高さ[m] (紐の左端を原点とするxの関数)
y' :紐の傾き
 
 紐の長さL
λ = H/(ρg) と置く
y(x) = λ{cosh(x/λ - x0/λ) - cosh(x0/λ)}
y'(x) = sinh(x/λ - x0/λ)
L = λ{sinh(x1/λ - x0/λ) + sinh(x0/λ)}
 
 問題
(3) x0  g,ρ,L,x1,y1,H で表せ
 
 
■ 双曲線関数の公式
 双曲線関数(定義)
cosh(x) = {exp(x) + exp(-x)}/2
sinh(x) = {exp(x) - exp(-x)}/2
tanh(x) = sinh(x)/cosh(x) = {exp(x)-exp(-x)}/{exp(x)+exp(-x)}
 
 双曲線関数(公式)
sinh(-x) = -sinh(x)
cosh(-x) =  cosh(x)
tanh(-x) = -tanh(x)
cosh2(t) - sinh2(t) = 1
{cosh(x)}' = sinh(x)
{sinh(x)}' = cosh(x)
 
▼ 双曲線関数(加法定理)
sinh(a±b) = sinh(a)cosh(b)±sinh(b)cosh(a)
sinh(2a) = 2sinh(a)cosh(a)
cosh(a±b) = cosh(a)cosh(b)±sinh(a)sinh(b)
cosh(2a) = cosh2(a) + sinh2(a)
tanh(a±b) = {tanh(a)±tanh(b)} / {1±tanh(a)tanh(b)}
 
▼ 逆双曲線関数
tanh-1(y) = log{(1 + y)/(1 - y)}/2
sinh-1(y) = log{y + √(y2 + 1)}
cosh-1(y) = ±log{y + √(y2 + 1)}
 
双曲線関数(その他)
cosh(a)+1 = 2cosh2(a/2)
cosh(a)-1 = 2sinh2(a/2)
sinh(a) = 2sinh(a/2)cosh(a/2)
{cosh(a)+1}/sinh(a) = tanh(a/2)
 
 
(3)x0導出
 定義
y1 :紐の左端に対する右端の高さ[m]
 
y(x) = λ{cosh(x/λ - x0/λ) - cosh(x0/λ)}
より
y1 = y(x1) = λ{cosh(x1/λ - x0/λ) - cosh(x0/λ)}
 
 y1, Lについての式からx0を求める
y1 = λ{cosh(x1/λ - x0/λ) - cosh(x0/λ)}  … ①
L  = λ{sinh(x1/λ - x0/λ) + sinh(x0/λ)}  … ➁
この2式を連立させて未知数x0λが求められそう
 
まず式①/➁を計算してみる
 
b = x1/λ, a = x0/λと置くと
y1/L  … (L > 0)
= [λ{cosh(x1/λ-x0/λ) - cosh(x0/λ)}]
/ [λ{sinh(x1/λ-x0/λ) + sinh(x0/λ)}]
= {cosh(b - a) - cosh(a)}
/ {sinh(b - a) + sinh(a)}
= {cosh(b)cosh(a)-sinh(b)sinh(a) - cosh(a)}
/ {sinh(b)cosh(a)-cosh(b)sinh(a) + sinh(a)}
= [{cosh(b)-1}cosh(a)-sinh(b)sinh(a)]
/ [sinh(b)cosh(a)-{cosh(b)-1}sinh(a)]
= {2sinh2(b/2)cosh(a)-2sinh(b/2)cosh(b/2)sinh(a)}
/ {2sinh(b/2)cosh(b/2)cosh(a)-2sinh2(b/2)sinh(a)}
= [2sinh(b/2){sinh(b/2)cosh(a)-cosh(b/2)sinh(a)}]
/ [2sinh(b/2){cosh(b/2)cosh(a)-sinh(b/2)sinh(a)}]
= {sinh(b/2)cosh(a)-cosh(b/2)sinh(a)}
/ {cosh(b/2)cosh(a)-sinh(b/2)sinh(a)}
= {tanh(b/2)-tanh(a)} / {1-tanh(b/2)tanh(a)}
= tanh(b/2 - a)
= tanh(x1/(2λ) - x0/λ)
 
途中cosh(b)-1とsinh(b)を上記公式で変形
分子分母をcosh(b/2)cosh(a)で割ってtanhに変形
などしています
 
x1/(2λ) - x0/λ = tanh-1(y1/L)
= log[{1+(y1/L)}/{1-(y1/L)}]/2
x1/2 - x0 = (1/2)λlog[{1+(y1/L)}/{1-(y1/L)}]
より
x0 = (1/2)(x1 - λlog{(1 + y1/L)/(1 - y1/L)})
 
 
 結果
 定義
g  :重力加速度[m/s2]
ρ :紐の線密度[kg/m]
L  :紐の長さ[m] (0 < √(x12 + y12) < L)
y1 :紐の左端に対する右端の高さ[m]
x1 :紐の右端のx座標[m]
x0 :紐の底のx座標[m]
H  :水平張力[N] (紐の頂点での張力)
y  :紐の高さ[m] (紐の左端を原点とするxの関数)
y' :紐の傾き
 
 紐の底のx座標x0 
λ = H/(ρg) と置く
y(x) = λ{cosh(x/λ - x0/λ) - cosh(x0/λ)}
y'(x) = sinh(x/λ - x0/λ)
L = λ{sinh(x1/λ - x0/λ) + sinh(x0/λ)}
x0 = (1/2)(x1 - λlog{(1 + y1/L)/(1 - y1/L)})
 

このブログの人気の投稿

NEWS

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

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