Вы должны быть компетентны в тригонометрии: Википедия и Mathworld
Даже если вы не хотите заниматься 3D-программированием, в 2D-играх также используются векторы и матрицы. (из линейной алгебры)
Ресурсы линейной алгебры: Wikepedia и Mathworld
Одним моментом, который сэкономит вам много усилий в программировании Trig, является понимание необходимости функции atan2 () , а не функции atan (). Это важно при определении направления между двумя точками.
Возможность перемещаться между различными системами координат - большой плюс. Это придет с опытом. Две общие вещи, которые сбивают людей с толку:
a) Большинство экранных систем размещают начало координат (0,0) в верхнем левом углу, причем положительная ось x проходит вправо, а положительная ось y - вниз. Стандартные декартовы координаты предполагают начало квадранта 1 (где x и y всегда положительны или равны нулю) в левом нижнем углу. Это требует от программиста «перевернуть» y-ориентацию на каком-то этапе.
b) Типичная география устанавливает 0 градусов к северу и положительные градусы по часовой стрелке. Все функции Trig устанавливают 0 градусов на восток с положительными градусами, вращающимися против часовой стрелки.
Наконец, даже если мы склонны думать в градусах, реальные библиотеки будут использовать радианы.
Рекомендуется хранить углы в радианах (в «математической» ориентации, а не в «гео») и преобразовывать объекты при отображении отладочной информации.