Попробуйте все показатели движения умножить, например, на 32. Далее вести расчёты в целых числах, и только перед передачей значений графическим процедурам делить их на 32...
Тогда, скорее всего, акромя целочисленной таблицы синусов ничего и не понадобиться из монструозного :)

