肩こり・背筋痛
この数週間、久しぶりに背骨の横の肩甲骨内側が痛い(*_*)
この5年ぐらい、ひどい肩こりに悩まされている。
仕事がきつくなると、肩、腰、首ときて、最終的にこの背骨の横がすごく痛くなり、頭痛、ひどいとぎっくり腰も、そしてさらに仕事ができなくなるという悪循環(-.-;)。
アラフォーの頃も肩こり
あったけど、ここまでひどくなかった。
特にこの数年、慢性化して常に不調。
歳のせいだね。
あらふぃふは、更年期だもんね。
いろいろ体調悪化の一環だろうけど、
体全体が急に固くなった感じ。。
血行が悪いせいかお酒にも弱くなったり、
抜け毛も多くなった気が(関係ないか。。)
ところが、肩こり克服した! という話
をメモしておこうと思います。
まだ、完全ではないので、日々試行錯誤している状態。
症状ごとに、うまく行ったことはメモしておかないと、
多分やり方を忘れていくと思うので。。。
腰痛
まず「前屈」
実はこれが腰痛をかなり改善させた。
私の肩こり解消の「研究」の入り口。
前屈することで、背骨横の筋肉も伸ばすようで、
肩こりも症状も改善していた(^o^)
肩こりに
腕の「ひねり伸ばし」
ひねり伸ばし。
これが肩こりに対して、この半年、
最大効果(!!)を出しているストレッチ(?)
すごい効果で、即効性もあり、
自分としては10年ぶりに肩こり解消!! という奇跡。
ただ、歳のせいだと思うが、毎日やらないと、すぐ戻る(涙)
背骨の横、肩甲骨の内側(今日の状態(*_*))
久しぶりの好調に調子に乗って、数ヶ月過ごしました。
ただ最近、
新年度で仕事をすこし頑張ったら、、、
背骨横の背筋痛再発(T_T)
そして、いままで効果を発揮していた腕のひねり伸ばし、
いくらやっても改善せず
やばい(-_-)。
新しいストレッチバリエーションが必要になりました。
GW中なので、いろいろ試した結果、
変身ポーズ・腕伸ばしひねり(左)
右手を顎の下通して、左側に引っ張りながら左ひねり。
背中の痛い場所が、すごく痛い!これは効くか!
と思ったら、痛み倍増(涙) 失敗?
と思ったら、翌朝かなり改善していた。(奇跡か)
喜んでいたら、
結局 半日持たずに痛み戻った。。。。
あーあ。
でも、一応効果あり。
前屈+腕ひねり伸ばしを同時にやった。(風呂で)
これも、背中すごく痛い。
次にたった状態での深い前屈(片足ずつ)。
もう一回、前屈+腕ひねり伸ばし、、、、、、、
あれ、痛みない!!!!!!!!
改善! やった!
と喜んで、PCに向かっていたら、
またすぐ痛くなった(再発。涙)
まあ、これも一応効果はあった。
と、改善せぬままGWも終わろうとしています。。
つづく。
平面ポリゴンと直線の交差判定
範囲の決まっている平面(ポリゴン)と直線が交差するかどうか、判断したい。
ベクトル・空間図形のリンク
ベクトル関係のリンク
Plotly
下記で、アカウントの設定ができた(オンラインモードが動くようになった
[Python] Plotly 入門 - ゾンビでもわかるPythonプログラミング
オフラインは、iPlotが動作しない。まだ不明。
空間図形・実装1
直線と平面の方程式をPythonで実装
この記事を書くのは3回め。
PCの調子が悪いのか、原因不明だけど公開すると記事が消えた(涙)。気を取り直して。
直線と平面の交点を求めたい
直線: x = x0 + tm
x0:直線上の点
m:方向ベクトル
t:係数 (長さかな?)
→ (x-x0) / a = (y-y0) / b = (z-z0) / c
平面: ax + by +cz = h
(n,x)=h
n:法線ベクトル
x:平面上の任意の点
import numpy as np #直線Class class vecLine(): m = np.zeros(3, dtype=np.float) # 方向ベクトル r0 = np.zeros(3, dtype=np.float) # 直線上の点(起点) t = 1.0 # 直線長さ # 直線設定(起点、ベクトル、長さ) def setLineVecL(self, set_r0, set_m, set_t): self.m = np.array(set_m) self.r0 = np.array(set_r0) self.t = set_t # 直線設定(2点) def setLinePos(self, set_p1, set_p2): self.m = np.array(np.array(set_p2) - np.array(set_p1)) self.r0 = np.array(set_p1) self.t = np.linalg.norm((np.array(set_p2) - np.array(set_p1)), ord=2) # 直線要素の取り出し def getLine(self): return(self.m, self.r0, self.t) #平面Class class vecPlane(): n = np.zeros(3, dtype=np.float) # 平面の法線ベクトル h = 1 # 符号付き距離 # 平面の設定(法線ベクトル、符号付きの距離) def setPlane(self, set_n, set_h): self.n = set_n self.h = set_h # 平面の設定(3点) def setPlanePos3(self, set_pos1, set_pos2, set_pos3): # https://risalc.info/src/plane-signed-distance.html self.n = np.cross(np.array(set_pos2) - np.array(set_pos1), np.array(set_pos3) - np.array(set_pos1)) self.h = np.dot(self.n, np.array(set_pos1)) # 平面の設定(法線ベクトル、一点) def setPlanePos1H(self, set_pos1, set_n): self.n = np.array(set_n) x0 = np.array(set_pos1) self.h = np.dot(self.n, x0) # 平面の要素取り出し def getPlane(self): return (self.n, self.h)
一旦ここまで。
交点の求め方。
# 複合処理 class vecLinePlane(): vLine = vecLine() vPlane = vecPlane() angle = 0.0 # なす角 intersection = np.zeros(3, dtype=np.float) # 交点 # 平面と直線の交点の算出 def getIntersection(self, cLine, cPlane): intersection = cLine.m * (cPlane.h - np.dot(cPlane.n, cLine.r0)) / np.dot(cPlane.n, cLine.m) + cLine.r0 return intersection
(下記のサイトを参考にしました)
http://tau.doshisha.ac.jp/lectures/2008.intro-seminar/html.dir/node29.html
このコードはクラス定義しただけ。実行部分がない。
肩こりがひどく、今日はここまで。。。
空間図形の勉強
平面の方程式、直線の方程式
ax+by+cz + d = 0
だったかな?
これじゃ、高校生の平面の方程式で、ベクトルとか、行列を使わないと、
ちまちま計算しなければいけなくなってしまう。。。
ネットを調べたけど、ちょうどよい難度のページが見つからない。
(高校数学ばかり)
本を買ってみた・・・・・難!
でも、少し勉強したら読み物としても面白そうです。
が、用語が、、、
「元」とか「基底」とか、聞いたことある、遠い記憶の彼方で。。
直線の式: 3.2 直線 x = u + ta
平面の式: 3.3 平面 。。。。。 読んでもわからず。。。
ネット検索再開!
良さげなサイト発見^^
https://risalc.info/src/plane-summary.html#def
平面: (n,x)=h
※このサイトでは、(ベクトル,ベクトル)は内積を表すようです。
n:法線ベクトル
x:平面上の任意の点
けどこれが、方程式???だっけ?
ちなみに、直線: x0 + tm
x0:直線上の点
m:方向ベクトル
t:係数 (長さかな?)
今日はここまで、疲れた。。
次は、直線と平面の交点を求めたい。
その前に直線と平面をPython実装かな。