I had to understand trigonometry to write a good motion function. So you have to have at least the understanding of trig to write that program. But having a language to abstract away the complexity meant I didn't have to know more than trig, which I would have had to if I wanted to write the program more effectively or in pure math.