SSブログ
前の10件 | -

腰痛は予防できる

20年以上悩まされていた腰痛習慣を克服したので記念に書いておこうと思う。それまで年に2-3回発症していたが、今はもう1年以上、治療に通っていない。

最初は首だった。朝起きたら首が回せないほど痛み、しばらく起き上がれなかった。ネットで調べたら、アメリカでカイロプラクティックの学位をとった先生が偶然にも駅前に開業しており、しばらくそこに通院した。その後も何か月かすると腰や首の痛みが再発し、そのたびにカイロプラクティックで施術を受けた。

カイロプラクティックは健康保険が使えないので治療費が高い。1回あたり7,000円とか10,000円、中には複数の施術を一度におこなって15,000円といった治療院もある。とはいえ背に腹は代えられず、毎年10万円近く払っていた。引っ越すときも、海外でカイロプラクティックの学位を取得している先生が近くにいれば安心だった。

整骨院にも通ったことがある。整骨院は基本的に健康保険適用なのだが、保険の範囲を超えた治療は結局高額になったり、保険適用でも後になって健保組合から問い合わせがあり面倒だ。

痛みの原因は大体わかっていて、普段の姿勢の影響のようだ。もともと猫背気味で、背中を丸めていると楽なのが災いしている。寝転がってテレビを見るのは日課のようなものだった。スマホはいまだに布団でゴロゴロしながらいじることも多い。原因になりそうなケガをしたことはなく、ヘルニアとか脊柱管狭窄症のような診断名がつくようなものでもないと思っている。しびれはない。猫背は親類にも何人かいて、特に高齢になると顕著だ。遺伝かもしれない。

それから、発症するのは大抵朝起きた時で、睡眠時にも問題があったようだ。昔から仰向けで寝るのが好きではなく、すぐ横向きになるのだが、横向きで枕がないと首が辛いため、かなり分厚く固い枕を使っていた。これがよくなかった。カイロプラクティックの先生によれば、仰向けなら頭の下にはタオルを重ねて敷く程度でよく、横向きの場合もあまり厚い枕はよくないらしい。

最後に発症したときにふと思い立ち、ネットで腰痛関連の本を探して試し読みした。何冊か出てきたうちのひとつはマッケンジー体操についてだった。うつぶせになって上体を反らすと腰痛が楽になるとのこと。しかし、この方法は診断の結果に応じて体の動かし方が異なるようで、専門家に見てもらったほうがよさそうに思えた。近所には見当たらない。

もう一つはうつぶせ寝。あの日野原医師が監修した本でも勧められていて、うつぶせ寝を採用している病院もあるようだ。何冊か読んでみたところ、要するにうつ伏せになり腰を左右にゆっくり揺らせばいいらしい。これが当たった。それ以来、とくに痛みがない時も布団でうつぶせになってゴロゴロしたり、睡眠中も寝ぼけながらうつぶせになったりしている。そういえば、カイロプラクティックでも整骨院でも、ほとんどの場合うつぶせで背中側の筋肉や関節を調整していた。

また、長年使っていた高い枕は捨てて、左右が厚く中央が凹んだ枕を探した。仰向けの時は頭は低く、横を向くと頭がちょうどいい高さになる。

その後、体が動かせないほどの致命的な痛みは経験していない。痛みが出てから治療するのではなく、予防が大事だ。日中、ごく稀に軽めの痛みが出ることはあるが、うつぶせと低周波治療器で解消している。家族が発症したときもこの組み合わせで回復した。うつぶせは子供の腰痛にも効果があった。

最後に、揺れる椅子はいい。北欧のブランドが代表的で、類似の安いものもある。椅子全体が揺れるものや座面だけ揺れるものがあり、何種類かを愛用している。通常の揺れない椅子は姿勢が固定されて筋肉が次第に緊張し、これが腰痛につながるようだが、座っているときに体を揺らすと緊張しにくいようだ。最初に治療してくれたカイロプラクティックの先生に勧められた。
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

二葉曲線 Bifoliate [見て楽しむ三角関数]

Scratch二葉曲線を描きます。前回とは式が違います。また英語の名称も微妙に違っています。

[二葉曲線]

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

最初に変数です。これらの変数を使って座標を計算し、曲線を描画します。

[変数]

次に本体です。大きさを変えながら複数の曲線を描画するので、二重ループになっています。内側の繰り返しで曲線を一本描いています。

[本体]

次に初期設定です。描画を開始する座標を計算して移動し、ペンの設定を行っています。

[初期設定]

この曲線の式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r=\frac{8\cos(\theta)\sin^2(\theta)}{3+\cos(4\theta)}a \] この式をScratchで実装したのが次の計算ブロックです。まず式のとおりに半径を計算し、次に半径と角度からX座標Y座標を計算しています。半径の計算は1行に書くと長くなりScratchの画面からはみ出すので、3行に分割しています。

[計算]

移動はいつも通りです。

[移動]

完成版はこちら
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

二葉曲線 Bifolium [見て楽しむ三角関数]

Scratch二葉曲線を描きます。

105-bifolium.png

以前にもにたような二つ葉の曲線を描いていますが、式が違いますし、曲線は横向きでした。

一般的な曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

まず変数です。これらの変数を使って座標を計算してスプライトを移動し、曲線を描画します。

[変数]

本体はこうなっています。複数の曲線を大きさを変えて描画するため、二重ループになっています。内側の繰り返しで曲線を一本描きます。角度を変化させながら座標を計算し、スプライトを移動させると、曲線が描かれます。

[本体]

次に初期設定です。プログラムを実行すると最初に一度だけ呼び出され、ペンの設定と最初に描く曲線の大きさを設定しています。

[初期設定]

次に準備です。描画を開始する座標を計算して移動し、ペンの設定を行います。角度を0度から180度まで変化させながら計算、移動するとこの曲線が描けます。

[準備]

次に計算ブロックです。曲線のX座標とY座標を式から求めています。

[計算]

この計算ブロックは次の式をScratchで実装したものです。
\[ r = 4sin^2(\theta)cos(\theta) \] rは半径です。英語のradiusの最初の一文字です。X座標Y座標は先に計算した半径と与えられた角度から求められます。

移動はいつも通りです。

[移動]

完成版はこちら
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

アーネシの曲線 Witch of Agnesi [見て楽しむ三角関数]

Scratchアーネシの曲線を描きます。

[曲線]

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

最初に変数です。cotは三角関数の一種cotangentの計算結果を保持します。

[変数]

次に本体です。パラメータを変えて曲線を16本描くため、二重ループになっています。内側の繰り返しでアーネシの曲線を一本描画します。曲線を一本描き終わったら変数aの値を1ずつ変更しますが、a=0の場合は角度を変えて計算しても常にX=0, Y=0になるため、原点(0, 0)に点が描かれるだけになります。これを避けるため、a=0の場合はa=1に設定して次の曲線を描画します。

[本体]

次に初期設定です。このブロックはプログラムを実行したときに一度だけ呼び出されます。ペンと変数を初期化しています。

[初期設定]

次に準備です。一本の曲線を描く前に毎回呼び出され、描画を開始する座標に移動します。

104-prep.png

式はこうなっています。aは倍率(大きさ)、θは角度です。
\[ x = 2a\cot(\theta) \\
y = a(1-\cos(2\theta)) \] この式をScratchで実装したのが次の計算ブロックです。

[計算]

上の式ではX座標の計算で2を掛けていますが、計算ブロックではこれを省略しています。2倍するとどうなるかは試してみてください。

計算の最初に呼び出しているcotは上にも書いた通り三角関数のcotangentです。cotangent関数はScratchには備わっていないため次のようなブロックを定義して計算しています。

[cotangent]

移動はいつも通りです。

[移動]

完成版はこちら
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

蛇状曲線 Serpentine Curve [見て楽しむ三角関数]

Scratch蛇状曲線を描きます。

103-SerpentineCurve.png

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

まず変数です。これらの変数を使って座標を繰り返し計算して、曲線を描画します。

103-vars.png

cotは三角関数の一種cotangentの計算結果を保存しておくための変数です。

本体はこうなっています。6本の曲線を描くため二重ループになっていて、内側の繰り返しで曲線を一本描画します。

103-main.png

曲線を一本描くごとにbの値を増やしています。bはY座標の計算に使い、bの値を増やすと曲線が上下方向に広がります。

次に初期設定です。プログラムを実行するときに一度だけ呼び出され、変数とペンを初期化しています。

103-init.png

次に準備です。曲線一本を描く前に呼び出され、曲線の開始座標を計算し、その座標に移動しています。

103-prep.png

次に計算ブロックです。三角関数と角度を使って曲線のX座標とY座標を計算します。

103-calc.png

この計算ブロックは次の式をScratchで実装したものです。今回は極座標方程式ではないので半径(r)は使いません。
\[ x = a\cot(\theta) \\
y = b\sin(\theta)\cos(\theta) \] 最初に呼び出しているcotの計算式は次のとおりです。
\[ \cot(\theta) = \frac{\cos(\theta)}{\sin(\theta)} \] Scratchで実装するとこうなります。

cotangent-generic.png

移動はいつも通りです。

move-generic.png

完成版はこちら
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

半立方放物線 Semicubical Parabola [見て楽しむ三角関数]

Scratch半立方放物線を描きます。

半立方放物線

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

まず変数です。これらの変数を使って座標を計算し、曲線を描画します。

変数

sec変数は、三角関数の一種secantを計算した値を保持します。

本体はこうなっています。角度を変化させながら座標を計算し、スプライトを移動させると、曲線が描かれます。

本体

次に準備です。変数の初期設定や開始座標の計算、移動、ペンの設定を行います。角度を-50度から50度まで変化させながら計算、移動するとこの曲線が描けます。

準備

次に計算ブロックです。曲線のX座標とY座標を式から求めています。

計算

この計算ブロックは次の式をScratchで実装したものです。
\[ r = \frac{\tan^2(\theta)\sec(\theta)}{a} \] 式ではaで割っていますが、割り算は逆数の掛け算と同等ですので、計算ブロックの実装では倍率を掛けています。これにより、曲線が描画領域に収まるように拡大されます。

計算ブロックの最初に呼び出しているsecは次のように求められます。

Secant

また、計算ブロックのrは半径です。X座標Y座標は先に計算した半径と与えられた角度から求められます。

移動はいつも通りです。

移動

完成版はこちら
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

右ストロフォイド Right Strophoid [見て楽しむ三角関数]

Scratch右ストロフォイドを描きます。

右ストロフォイド.png

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

まず変数です。これらの変数を使って座標を計算し、曲線を描画します。

rstrophoid-vars.png

sec変数は、三角関数の一種secを計算した値を保持します。

本体はこうなっています。角度を変化させながら座標を計算し、スプライトを移動させると、曲線が描かれます。

rstrophoid-main.png

次に準備です。変数の初期設定や開始座標の計算、移動、ペンの設定を行います。角度を-68度から68度まで変化させながら計算、移動するとこの曲線が描けます。

rstrophoid-prep.png

次に計算ブロックです。曲線のX座標とY座標を式から求めています。

rstrophoid-calc.png

この計算ブロックは次の式をScratchで実装したものです。
\[ r = \cos(2\theta)\sec(\theta) \] 計算ブロックの最初に呼び出しているsecは三角関数の一種で、次のように計算できます。

secant-generic.png

Scratchの演算ではこの三角関数が実装されていないので、自分でブロックを定義しています。

計算式のrは半径です。英語のradiusの最初の一文字です。X座標Y座標は先に計算した半径と与えられた角度から求められます。

移動はいつも通りです。

move-generic.png

完成版はこちら
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

ド・スルーズのコンコイド Conchoid of de Sluze [見て楽しむ三角関数]

曲線シリーズの100回目はド・スルーズのコンコイドです。Scratchでこの曲線を描きます。

ConchoidOfDeSluze.png

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

まず変数です。これらの変数を使って座標を計算し、曲線を描画します。

deSluze-vars.png

sec変数は、三角関数の一種secを計算した値を保持します。

本体はこうなっています。今回はa=-3からa=6まで10本の線を描画するので、二重ループになっています。内側の繰り返しで一本の線を描きます。

deSluze-main.png

次に準備です。プログラムを実行したときに一度だけ行う処理を記述しています。

deSluze-prep.png

次に初期化です。このブロックでは線一本を描画するために角度をリセットして描画を開始する座標に移動します。

deSluze-init.png

次に計算ブロックです。曲線のX座標とY座標を式から求めています。

deSluze-calc.png

この計算ブロックは次の式をScratchで実装したものです。
\[ r = \sec(\theta)+a\cos(\theta) \]ブロックの最初に呼び出しているsecは次のように計算できます。

secant-generic.png

計算式のrは半径です。英語のradiusの最初の一文字です。X座標Y座標は先に計算した半径と与えられた角度から求められます。

移動はいつも通りです。

move-generic.png

完成版はこちら
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

ディオクレスのシッソイド Cissoid of Diocles [見て楽しむ三角関数]

Scratchディオクレスのシッソイドを描きます。

diocles-curve.png

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

まず変数です。これらの変数を使って座標を計算し、曲線を描画します。

diocles-vars.png

本体はこうなっています。角度を変化させながら座標を計算し、スプライトを移動させると、曲線が描かれます。

diocles-main.png

次に準備です。変数の初期設定や開始座標の計算、移動、ペンの設定を行います。角度を-60度から60度まで変化させながら計算、移動するとこの曲線が描けます。

diocles-init.png

次に計算ブロックです。曲線のX座標とY座標を式から求めています。

diocle-calcs.png

この計算ブロックは次の式をScratchで実装したものです。
\[ r = 2a\sin(\theta)\tan(\theta) \] rは半径です。英語のradiusの最初の一文字です。X座標Y座標は先に計算した半径と与えられた角度から求められます。

移動はいつも通りです。

move-generic.png

完成版はこちら
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

マルタ十字曲線 Maltese Cross Curve [見て楽しむ三角関数]

Scratchマルタ十字曲線を描きます。

MalteseCrossCurve.png

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

まず変数です。

Maltese-variables.png

とくに変わったものはありません。「大きさ」と「倍率」は曲線の大きさを決めます。描画中に倍率の値が変わると曲線が崩れてしまうので、画面上でスライダーを使って設定した「大きさ」を初期設定で「倍率」に設定して使っています。仮に描画中にスライダーで「大きさ」の値を変更したとしても、「倍率」の値は変わることがないので、滑らかな曲線が描画できます。

本体はこうなっています。

Maltese-main.png

今回は独立した曲線が4本あるので、1本の曲線を描くための「曲線」ブロックを4回呼び出しています。引数に指定しているのはsinやcosの計算に使う角度の初期値(開始角度)です。

次に準備です。スプライトを非表示にして、倍率とペンの属性を設定しています。

Maltese-prepare.png

次に曲線を1本描くための「曲線」ブロックです。これが本体から呼び出されます。描画を開始する座標に移動するために、ペンを持ち上げて座標を計算、移動し、ペンを下ろします。その後、角度を変えながら座標の計算と移動を繰り返して曲線を描画しています。

Maltese-curve.png

次に計算ブロックです。曲線のX座標とY座標を式から求めています。

Maltese-calc.png

この計算ブロックは次の式をScratchで実装したものです。
\[ r = \frac{2}{\sqrt{\sin(4\theta)}} \] rは半径です。英語のradiusの最初の一文字ですね。X座標Y座標は先に計算した半径と与えられた角度から求められます。

移動はいつも通りです。

move-generic.png

完成版はこちら
nice!(0)  コメント(0) 
共通テーマ:日記・雑感
前の10件 | -

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。