Hola otra vez:
La verdad es que para las matemáticas soy bastante malo y ahora mismo no sé cuál fue la fuente que usé para esas rutinas, aunque me acuerdo que implementé algo en ensamblador en la Universidad y con eso me pusieron una matrícula, pero las rutinas eran mucho más complejas

.
Si encuentro esas rutinas me fijaré, pero no creo que sepa descifrarlas (por lo menos me tendría que tomar algunos dias).
De todos modos, tal como dices está implementado a base de senos y cosenos:
Cita: posX=(Math.cos(angRad)*radio)+inicX;
posY=(Math.sin(angRad)*radio)+inicY;
Si sabes alguna forma de mejorar algo no dudes en decírmelo para modificar la librería.
Saludos