五輪おしまい。
冬季五輪はフィギュア・スケート、スノーボードなど高速回転系が目につくが、今回はいつも以上だった。
フィギュアのダブル、トリプルは何となく分かるが、4回転はもう分からない。
※ 4回転 = クアドラプル Quadruple略してクアッド Quad
動体視力衰えた。
スノーボードはもっと分からない。
トゥエルブシックスティとか連続技だとついていけない。
ビッグエアだとエイティーンハンドレッドとか出てくるが、「5回転」と言ってくれればついていける。
ひとまず慣れるまで手元に表が必要。
360 | 1回転 | スリーシックスティ |
540 | 1回転半 | ファイブフォーティ |
720 | 2回転 | セブントゥエンティ |
900 | 2回転半 | ナインハンドレッド |
1080 | 3回転 | テンエイティ |
1260 | 3回転半 | トゥエルブシックスティ |
1440 | 4回転 | フォーティーンフォーティ |
1620 | 4回転半 | シックスティーントゥエンティ |
1800 | 5回転 | エイティーンハンドレッド |
1980 | 5回転半 | ナインティーンエイティ |
ハーフパイプの平野選手の逆転V滑走は、
1440、1440、1260、1260、1440
だから
4、4、3.5、3.5、4回転。
トリプルコーク1440のトリプルが縦3回転で、1440が横4回転という説明だった。
トリプル、ダブル、ダブル、ダブル、ダブル。
19回転 + 11回転 = 30回転。
VTR20回以上観ているから
600回転以上。
他の選手、他の競技加えると
おそらく1000回転以上高速回転を観たことになる。
目が回るわけだ。
三角形、四角形を描く
前置きが長くなりすぎた。
これまでPythonで直線を引いたり、グラフの描画については、少しばかり手を付けているが、未だ円を描いていなかった。
以前描いた円はドロー・ソフトによるもの。
ドロー・ソフトを使えば簡単に描けるが、
Python(Python 3+Jupyter)で描いてみる。
その前に
未だ四角形も描いていなかったので、描画。
三角形、四角形は直線3本、4本。
画面いっぱいに描画されるので、
大きめの枠(四角)を適当に作っておいて、その中に描画。
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
plt.plot([-1,6,6,-1,-1],[-1,-1,6,6,-1],"-",color="black")
plt.plot([0,5,4,0],[0,0,4,0],"-",color="red")
plt.plot([4,4],[0,5],"-.",color="blue")
plt.plot([2,2.5],[3,3],":",color="green",lw=2)
plt.plot([3.2,3.5,3.5,3.3,3.2],[3.7,3.5,3.9,4,3.7],"-",color="brown",lw=2)
plt.arrow(x=4,y=4,dx=-0.7,dy=0,head_width=0.2,
length_includes_head=True,color="orange")
plt.show()
例えば、赤色の三角形は、座標(0,0)、(5,0)、(4,4)、(0,0)の順に線引き。
備忘録なので橙色の矢印 arrowも加えておいた。
円を描いてみる
円 x2+y2=r2は、
y=√(r2-x2)の式に変形するよりも
x=r cos t、y=r sin tのほうがうまく描ける。
※ 媒介変数表示という
sin2 t + cos2 t = 1
上の媒介変数 tの範囲は角度で0~2π。
単位はラジアン rad。π[rad]=180°。
2π [rad]=360° ・・・ 円一周。
以下のコードは最初のimport部分省略。
plt.plot([-1,8,8,-1,-1],[-1,-1,8,8,-1],"-",color="black")
t = np.linspace(0,np.pi*2,50)
x = 0.9 * np.cos(t)
y = 0.9 * np.sin(t)
plt.plot(x+2,y+4,"-",color="blue",lw=2)
plt.plot(x+4,y+4,"-",color="black",lw=2)
plt.plot(x+6,y+4,"-",color="red",lw=2)
plt.plot(x+3,y+3,"-",color="yellow",lw=2)
plt.plot(x+5,y+3,"-",color="green",lw=2)
plt.axes().set_aspect('equal')
plt.show()
plt.axes().set_aspect('equal')
を入れると
縦横比(XY比)が1:1(正方)になる。入れないと(上図の場合)横長に表示される。
カーリング女子は銀メダルでした。
線を太くしてみたが、始点・終点に要らない線が現れてしまう。
斜め楕円の部分は、
t = np.linspace(0,np.pi*2,50)
x = 1.2 * np.sin(t)
y = 1.8 * np.cos(t)
xx = np.cos(np.pi/4) * x - np.sin(np.pi/4) * y + 6
yy = np.sin(np.pi/4) * x + np.cos(np.pi/4) * y + 4
plt.plot(xx,yy,"-",color="black",lw=10)
x=r cos t、y=r sin tのrが違う場合、つまりx=a cos t、y=b sin tだと楕円。
回転させると斜め楕円。
各種図形の描画、色塗りなどは、
- matplotlibライブラリのpatchesモジュール
- Tkinterライブラリ
- Pillowライブラリ
- OpenCVライブラリ
を使うと容易、とのこと。
追)