Python 如何确定圆上的点远离圆的方向向量?

Python 如何确定圆上的点远离圆的方向向量?,python,pygame,Python,Pygame,我需要得到一个方向向量[x,y],它指向一个点所在圆的正远处 我试着把x和y坐标分配给这个点,但是它们都指向同一个方向 r=70圆半径 a=0角度变量 创建一个while循环,只要角度小于2pi 而a

我需要得到一个方向向量[x,y],它指向一个点所在圆的正远处

我试着把x和y坐标分配给这个点,但是它们都指向同一个方向

r=70圆半径 a=0角度变量 创建一个while循环,只要角度小于2pi 而a
我需要x和y的方向正好指向远离它们所在圆的中心。如何计算它们?

从圆心到点的方向向量为:

dx,dy=cosa,sina 这与从法向量到圆上的点的方向相同。因此,可以通过以下方式设置光线:

x=圆R*dx+200 y=圆*dy+200 光线+=[rayClass.Rayx,y,1[dx,dy]] 注意,在这种情况下,方向向量是一个单位向量的长度是1,因此分量是浮点数

如果方向必须是整数且其长度必须是圆的半径:

rx,ry=roundr*cosa,roundr*sina x、 y=rx+200,ry+200 光线+=[rayClass.Rayx,y,1[rx,ry]] 另一种可能性是在PyGame中使用向量算法

方向向量可以通过一个--运算来计算,单位向量的长度为1的方向向量可以通过以下公式得到:

圆心=pygame.math.vector2200200 圆上的点=pygame.math.Vector2x,y 方向=圆上的点-圆中心 单位方向=方向。标准化
从该点结束的半径得到方向。从稀疏代码演示中,我推断圆以原点为中心,光线主要由端点和光线上的任何其他点定义

这就简单了:光线的倾斜方向是

m = (y-0)/(x-0)
y' = mx'   for variables x', y', x' >= x
以x,y为起点。因此,包含射线的直线方程为

m = (y-0)/(x-0)
y' = mx'   for variables x', y', x' >= x
因此,光线是微不足道的:已知的x,y的端点和方向向量[x,y]。为了安全起见,我建议将其加倍,以确保后者指的是圆外光线上的一个点

(x, y, 1, [2*x, 2*y])
我不能确定,因为你完全没有定义你的类,但这给了你第二个点,正好在圆外一个半径

(x, y, 1, [2*x, 2*y])