sinテーブルの作り方
半径rの円周上に、半径rに等しい長さの円弧ABを取った時、
この円弧ABに対する中心角をθとすると、θは半径rの大きさに関係なく、一定の角になる。(比が同じと言うこと)
この角を1ラジアンと定める。
このラジアンを単位として角の大きさを表す方法を弧度法と呼ぶ。
弧度法では、半径と等しい長さの弧を「1」と定めるので、
半径rの円周上でこの長さがaの角の大きさθは、
θ = a / r(ラジアン)
となる。
360°は全周2πrに対応しているので、
2πr / r = 2π(ラジアン)
となる。
例えば、60°の角の円弧の長さは、全周の
60° / 360°
なので、
弧度法では、
60 / 360 * 2π = π/3
となる。
一般に、度数法のx°を弧度法θで表すには、
θ = x° / 360° * 2π
となる。
一周を64に分割することにした場合、
θ = x / 64 * 2π
となる。
Pythonでsinテーブルの値を出力するには、次のように書ける。
# <64方向> # 16 # | # 32--+-- 0 # | # 48 import math for x in range(64): v = math.sin(x / 64 * 2 * math.pi) print(str(v) + ',')
# <128方向> # 32 # | # 64--+-- 0 # | # 96 import math for x in range(128): v = math.sin(x / 128 * 2 * math.pi) print(str(v) + ',')
# <256方向> # 64 # | # 128--+-- 0 # | # 192 import math for x in range(256): v = math.sin(x / 256 * 2 * math.pi) print(str(v) + ',')