Дотична формула така:
tan(angle) = opposite/adjacent
Дивіться цей малюнок:
Де a
є сусідня сторона, o
є протилежна сторона і theta
є кут. Аналогічно, синус і косинус є sin (ang) = o / h і cos (ang) = a / h, де h
довга сторона: http://www.mathwords.com/s/sohcahtoa.htm
Тим часом atan
(короткий для дуго-дотичної , також відомий як зворотний дотичний ) - це зворотний бік tan
, як:
atan(opposite/adjacent) = angle
Таким чином, якщо ви знаєте значення як протилежної, так і сусідньої сторін (наприклад, віднімаючи координати об'єкта від координат миші), ви можете отримати значення кута atan
.
У розвитку ігор, однак, може траплятися досить часто, що сусідня сторона дорівнює 0 (наприклад, координата x вектора дорівнює 0). Пам’ятаючи, що tan(angle) = opposite/adjacent
потенціал згубної помилки поділу на нуль повинен бути очевидним. Так що багато бібліотек пропонують функцію atan2
, що називається , яка дозволяє задавати x
і y
параметри, і параметри, щоб уникнути поділу на нуль і задати кут у правому квадранті.
(схема ввічливості Гарет, будь ласка, проголосуйте також його відповідь)
Використання тригонометрії в розробці ігор досить поширене, особливо з векторами, але зазвичай бібліотеки приховують роботу тригонометрії для вас. Ви можете використовувати sin / cos / tan для багатьох завдань, які передбачають геометричні маніпуляції, щоб знайти значення з трикутника. Все, що вам потрібно, це 3 значення (бічні довжини / значення кута), щоб знайти інші значення прямокутного трикутника, тому це досить корисно.
Ви навіть можете використовувати "велосипедний" характер функцій синуса і косинуса для особливих поведінок у грі, наприклад, я бачив, як cos / sin багато використовував для того, щоб об'єкт обернувся навколо іншого.