Вы правы, это немного тригонометрии, а именно, преобразование из градусов в радианы, а затем умножение синуса / косинуса этого угла на «длину» (отсюда и почему он называется length-dir)
lengthdir_x(l, d)
- это l * cos(d * pi / -180)
lengthdir_y(l, d)
- это l * sin(d * pi / -180)
живое демо для сравнения