Python(pygame)Sin、Cos 和 Tan

问题描述 投票:0回答:3
我注意到Python中有一个

sin

cos
tan
函数。  

所以,我想在游戏中使用这些来瞄准,不幸的是,

sin

cos
tan
asin
acos
atan
的文字描述非常令人困惑。  

我知道如何执行学校的所有

sin

cos
tan
 规则,我只需要将它们应用到代码中即可。所以,这就是我需要做的,我只需要知道我必须使用哪一个:

我有

    角度
  1. 斜边
  2. (我只是保留在再次 blit 之前我希望对象行进多远的值)
从角度来看,我想算出相反和相邻的其中一个/两个。

斜边将是
sin/asin

cos/acos
。哪一个?我不知道。  

如何输入我的号码?我只是做

aim = cos(angle,hyp)

还是必须应用一些其他计算?

python pygame trigonometry
3个回答
4
投票
公式为:

adjacent = hypothenuse * math.cos(angle) opposite = hypothenuse * math.sin(angle)

其中

angle

 的单位是弧度。


2
投票
你的措辞有点令人困惑......但我的理解是,你在 2D 空间中有一个点,你想将它推进特定的距离(斜边),瞄准地平线上方的指定角度。如果是这样:

newX = oldX + dist * cos(angle) newY = oldY + dist * sin(angle)

假设

angle

 的单位为弧度,Y 轴向上为正,角度为 0 指向右侧,PI/2 指向顶部。如果情况并非如此,您可能需要稍微调整一下标志。


0
投票
标志=真

start = input('Для начала работы введите команду start ') 如果 start.lower() == '开始': 而真实:

print("Я Ваш помощник. Выберите математический оператор: [+] [-] [*] [/] [sin] [cos] [tan] [cotan]") operator = input("Введите оператор: ") if operator in ["sin", "cos", "tan", "cotan"]: number = float(input("Введите число: ")) if operator == "sin": print("Результат sin:", math.sin(math.radians(number))) elif operator == "cos": print("Результат cos:", math.cos(math.radians(number))) elif operator == "tan": print("Результат tan:", math.tan(math.radians(number))) elif operator == "cotan": if math.tan(math.radians(number)) != 0: print("Результат cotan:", math.tan(math.radians(number))) else: print("Ошибка: cotan не определен для этого значения.") else: number1 = float(input("Введите первое число: ")) number2 = float(input("Введите второе число: ")) if operator == "+": print("Результат суммы:", number1 + number2) elif operator == "-": print("Результат вычитания:", number1 - number2) elif operator == "*": print("Результат умножения:", number1 * number2) elif operator == "/": if number2 != 0: print("Результат деления:", number1 / number2) else: print("Ошибка: деление на ноль невозможно.") else: print("Неверный оператор. Попробуйте снова.") print("Выход из программы.")
    
© www.soinside.com 2019 - 2024. All rights reserved.