Почему так?

Malchik_molodoi

Новичок
Пользователь
Июл 29, 2020
19
4
3
19
Делаю игру на Pygame. Я нашел в интернете этот скрипт для стрельбы "в курсор":
Python:
angle = math.radians(angle)             #Angle to radians
speed_x = speed * math.cos(angle)        #Calc speed
speed_y = speed * math.sin(angle)
Он работает, но не могу понять почему так? При чем здесь синус и косинус? Объясните пожалуйста, очень хочу разобраться.
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
Нарисуй координатную плоскость, от ее центра нарисуй отрезок под углом angle длиной speed (это вектор, но не парься). Нарисуй перпендикуляры от конца отрезка к осям. Отметь, что такое косинус этого угла, и что такое синус (в виде соотношения сторон получившихся треугольников). Затем вместо гипотенузы подставь speed, вместо проекции на ось x speed_x, на ось y - speed_y.
Screenshot 2020-11-03 at 14.32.06.png
speed = s
speed_x = sx
speed_y = sy

cos = sx / s
sin = sy / s

sx = s * cos
sy = s * sin
 
  • Мне нравится
Реакции: Student

Malchik_molodoi

Новичок
Пользователь
Июл 29, 2020
19
4
3
19
Нарисуй координатную плоскость, от ее центра нарисуй отрезок под углом angle длиной speed (это вектор, но не парься). Нарисуй перпендикуляры от конца отрезка к осям. Отметь, что такое косинус этого угла, и что такое синус (в виде соотношения сторон получившихся треугольников). Затем вместо гипотенузы подставь speed, вместо проекции на ось x speed_x, на ось y - speed_y.
Посмотреть вложение 761
speed = s
speed_x = sx
speed_y = sy

cos = sx / s
sin = sy / s

sx = s * cos
sy = s * sin
Спасибо, я понял. Я строил координатную плоскость, но я представлял гипотенузу не как скорость, а как расстояние, поэтому не мог понять)
 

Форум IT Специалистов