数式の動的な評価

シューティングなどで「敵の動き」を考える場合には、
どうしても「放物線」のような滑らかな動きを
作成できるようにしなければなりません。
 
また、文字を点滅させる処理を行いたい場合などにも、
放物線が使えると、見栄えが良くなります。
 
さらには、
パラメータの割合により、描画サイズをある一定の大きさに限りなく近づける、
というような処理をしたい場合には、分数関数を使いたいですよね。
 
そういった場合に、ソースコードに直接数式を埋め込んでしまうと、
限られた動き・処理しかできません。
そして動き・処理を変えようとした場合、
ソースコードを直接書き換えなければなりません。
 
これはとっても不便ですよね。
 
そこで数式を文字列で渡して、動的に評価をおこなうことにより、
ソースコードの書き換えなしに、動きを変えてしまおう、ということです。
 
Pythonだと、execで動的に実行できるから、楽なのですよね。
 
例えば、円運動のサンプルです。

from math import *

def calc(expr, angle, r):
	exec "ret=" + expr
	return ret

r = 10
for angle in range(360):
	px = calc("cos(radians(angle)) * r", angle, r)
	py = calc("sin(radians(angle)) * r", angle, r)
	print angle, px, py

C++とかだと、力技で構文解釈の処理を入れないとダメですね…(たぶん)