回転運動の説明を読んでいる時に、角度が小さい時の差ベクトルの近似について気になったので考えて見た。
等速円運動 [物理のかぎしっぽ]
以下の図のような二等辺三角形における底辺(青)、円弧(赤)、そして垂線(緑)を考える。
図では頂角は30度でプロットしてある。
問題によっては、赤を近似するために青にしたり、その逆もあったり、何を基準にするかややこしい面があるように思う。
とりあえず、それぞれを式で表す。二等辺三角形の頂角および辺の長さをとすると
青を表現するのに関数を使うため、比較として、三角形における関数の最も直接的な利用である垂線(緑)を登場させた。
底辺と垂線は、次のようにして差を評価出来る。
角度が非常に小さい()時、となって、青と緑は(ほぼ)一致する。
赤と青は、関数のTaylor展開からで両者が一致するのがすぐわかる。
よって、最終的には赤青緑が全て近似的に等しくなる。
図を作るのに使ったスクリプト
from matplotlib import pyplot as plt import numpy as np import math fig = plt.figure() ax = fig.add_subplot( 1, 1, 1 ) d = 30. # degree radians = np.array([ math.radians(d) for d in np.linspace( 0, d, 100 ) ]) c = np.cos( math.radians(d) ) s = np.sin( math.radians(d) ) # triangle tri = plt.Polygon( ( ( 0, 0 ), ( 1, 0 ), ( c, s ) ), color = "black", alpha=0.1 ) ax.add_patch( tri ) # arc ax.plot( np.cos( radians ), np.sin( radians ), color = "red" ) # base line of triangle xs = np.linspace( c, 1., 100 ) ys = ( ( s - 0. ) / ( c - 1. ) ) * ( xs - c ) + s ax.plot( xs, ys, color = "blue" ) # vertical line in triangle ax.vlines( c, 0., s, color = "green" ) plt.tick_params( left='off', right='off', bottom='off', top='off', labelleft='off', labelright='off', labelbottom='off', labeltop='off' ) plt.savefig( "triangle.png" )
三角形および補助線の書き方は以下を参照
Python/Matplotlibで三角形の描画
【Python@matplotlib】matplotlib にて横、縦の補助線を描く方法について - Qiita