Vector 如何从一个角度得到一个向量

Vector 如何从一个角度得到一个向量,vector,pygame,Vector,Pygame,我正在用pygame做一个游戏,我想要一艘宇宙飞船朝着它所面对的方向移动。我有角度和大小,我怎样才能得到一个标准化向量的方向,然后把它加到飞船的x和y上,使它移动?你要做的是把极坐标改成笛卡尔坐标 在我看来,你是在二维空间。现在你不能避免使用三角学。 假设你面对的是一个α角,从x轴开始,向y方向增长。设d为大小 Vx=cos(α)*d Vy=sin(α)*d 现在这不是标准化的,因为我已经把它乘以d,速度的大小 请检查正反函数的角度类型,并提供匹配的输入(可以是弧度或度数)。检查这一点的一个简单

我正在用pygame做一个游戏,我想要一艘宇宙飞船朝着它所面对的方向移动。我有角度和大小,我怎样才能得到一个标准化向量的方向,然后把它加到飞船的x和y上,使它移动?

你要做的是把极坐标改成笛卡尔坐标

在我看来,你是在二维空间。现在你不能避免使用三角学。 假设你面对的是一个α角,从x轴开始,向y方向增长。设d为大小

Vx=cos(α)*d

Vy=sin(α)*d

现在这不是标准化的,因为我已经把它乘以d,速度的大小


请检查正反函数的角度类型,并提供匹配的输入(可以是弧度或度数)。检查这一点的一个简单方法是打印sin(30)。如果是0.5,则以度为单位。如果它是-0.988。。。你的单位是弧度。

你要做的是将极坐标改为笛卡尔坐标

在我看来,你是在二维空间。现在你不能避免使用三角学。 假设你面对的是一个α角,从x轴开始,向y方向增长。设d为大小

Vx=cos(α)*d

Vy=sin(α)*d

现在这不是标准化的,因为我已经把它乘以d,速度的大小

请检查正反函数的角度类型,并提供匹配的输入(可以是弧度或度数)。检查这一点的一个简单方法是打印sin(30)。如果是0.5,则以度为单位。如果它是-0.988。。。你是弧度