一人目,スキーの力学.もう大詰めなんだけど,
横滑りターンのモデルまでできたらな,ってことでちょっとトライ.
どうしても微分方程式の数が足らず,どうしようか.
でもカービングターンは確立したので,これの数値解析に専念しても良い.
つまり上手い人がなぜ急斜面でも板をきちんと踏んでゆっくり滑れるのか,
といったことだ.で,BASICで作ってみた.
LET tmax=3 !最大表示時間
LET wx=tmax !横軸最大
LET wy=PI !縦軸最大
SET WINDOW -wx*.05,wx,-wy*1,wy
LET m=50 !質量[kg]
LET R=10 !曲率半径[m]
LET a=PI/9 !斜度[rad]
LET g=9.8 !重力加速度[m/s^2]
LET h=0.6 !股関節位置[m]
LET HH=h*1.1 !重心の高さ[m]
LET mu=0.6 !摩擦係数
LET dt=.001 !時間の刻み幅
LET th0=PI/20 !初期θ
LET thv0=0 !初期dθ/dt
LET w0=PI/6 !初期w
LET wv0=-PI/6 !初期dw/dt
DO
mouse poll mx,my,left,right
IF left=1 THEN
IF ABS(my-wy*0.9)<wy/20 AND wx>0 THEN LET th=mx/wx*PI/2
IF ABS(my-wy*0.8)<wy/20 AND wx>0 THEN LET thv=mx/wx*PI/2
IF ABS(my-wy*0.7)<wy/20 AND wx>0 THEN LET w=mx/wx*PI/2
IF ABS(my-wy*0.6)<wy/20 AND wx>0 THEN LET wv=-mx/wx*PI/2
IF ABS(my-wy*0.5)<wy/20 AND wx>0 THEN LET a=mx/wx*PI/2
END if
LET th0=th
LET thv0=thv
LET w0=w
LET wv0=wv
SET DRAW mode hidden
CLEAR
DRAW ruler
DRAW axes(wx/10,wy/10)
FOR t=0 TO tmax STEP dt
WHEN EXCEPTION IN
LET th1=th0+thv0*dt
LET w1=w0+wv0*dt
LET tha=(-g*SIN(a)*SIN(w0)/h-g*COS(a)*th0/HH+th0*thv0^2+(R/h+th0)*wv0^2)
LET thv1=thv0+tha*dt
LET wa=-(g*SIN(a)*COS(w0)+2*h*thv0*wv0)/(R+h*th0)
LET wv1=wv0+wa*dt
LET FF=-h*tha+h*th0*thv^2+(R+h*th0)*wv0^2-g*SIN(a)*SIN(w0) !摩擦抗力
SET LINE COLOR 3!緑--静止摩擦を超えたとき
IF FF>mu*g*COS(a) THEN
PLOT LINES:t,-wy; t,wy
LET t=tmax
END if
SET LINE COLOR 2!青--wのグラフ
PLOT LINES: t,w0;t+dt,w1
SET LINE COLOR 4!赤--θのグラフ
PLOT LINES: t,th0;t+dt,th1
LET th0=th1
LET thv0=thv1
LET w0=w1
LET wv0=wv1
USE
LET t=tmax
END WHEN
NEXT t
SET DRAW mode explicit
LOOP UNTIL left*right=1
PICTURE ruler
!エッジ角θ
LET p=0.9
LET px=th*2*wx/PI
SET LINE COLOR 4
SET AREA COLOR 7
GRAPH AREA:0,wy*p+wy/20;px,wy*p+wy/20;px,wy*p;0,wy*p
GRAPH LINES:0,wy*p+wy/20;wx,wy*p+wy/20;wx,wy*p;0,wy*p
PLOT TEXT ,AT -wx*.02,wy*p:"θ"
PLOT TEXT ,AT px, wy*p, USING "##.#":th*180/PI
!エッジ角速度dθ/dt
LET p=0.8
LET px=thv*2*wx/PI
SET LINE COLOR 4
SET AREA COLOR 6
GRAPH AREA:0,wy*p+wy/20;px,wy*p+wy/20;px,wy*p;0,wy*p
GRAPH LINES:0,wy*p+wy/20;wx,wy*p+wy/20;wx,wy*p;0,wy*p
PLOT TEXT ,AT -wx*.02,wy*p:"θv"
PLOT TEXT ,AT px, wy*p, USING "##.#":thv*180/PI
!角度ω
LET p=0.7
LET px=w*2*wx/PI
SET LINE COLOR 2
SET AREA COLOR 5
GRAPH AREA:0,wy*p+wy/20;px,wy*p+wy/20;px,wy*p;0,wy*p
GRAPH LINES:0,wy*p+wy/20;wx,wy*p+wy/20;wx,wy*p;0,wy*p
PLOT TEXT ,AT -wx*.02,wy*p:"ω"
PLOT TEXT ,AT px, wy*p, USING "##.#":w*180/PI
!角速度dω/dt
LET p=0.6
LET px=-wv*2*wx/PI
SET LINE COLOR 2
SET AREA COLOR 3
GRAPH AREA:0,wy*p+wy/20;px,wy*p+wy/20;px,wy*p;0,wy*p
GRAPH LINES:0,wy*p+wy/20;wx,wy*p+wy/20;wx,wy*p;0,wy*p
PLOT TEXT ,AT -wx*.02,wy*p:"ωv"
PLOT TEXT ,AT px, wy*p, USING "###.#":wv*180/PI
!傾斜角α
LET p=0.5
LET px=a*2*wx/PI
SET LINE COLOR 9
SET AREA COLOR 8
GRAPH AREA:0,wy*p+wy/20;px,wy*p+wy/20;px,wy*p;0,wy*p
GRAPH LINES:0,wy*p+wy/20;wx,wy*p+wy/20;wx,wy*p;0,wy*p
PLOT TEXT ,AT -wx*.02,wy*p:"α"
PLOT TEXT ,AT px, wy*p, USING "##.#":a*180/PI
END PICTURE
END
二人目,数理音楽.もうここからイレギュラーで話したい人が話すことに.
12音音階におけるダイアトニック7音中の三度堆積和音たちが互いに高々距離2であること,
これを一般的枠組みの中で示そうという試みを続けている.
近いところまで来た.しかしそれをきちんと数理で追いたいわけだ.さて.