rnd()の引数にrnd()で決める定数を入れたのは、 vsync rnd(a)-bのaとbによって全体的な描画速度が変わるからです。つまり、a,bを決めるrndは速度をランダムにして、vsync rnd()のrndはいびつなフレームレートを作ってるってわけです。 ちなみにvsyncなどに負を使うと0と同じになるようで、vsyncは働きません。 ひたすらrnd使ってやるぞ!と色々試すと個人的に色々発見があり、このプログラム2時間くらいで作りましたが成長は大きかったです。