Java 如何在0到360度之间均匀地随机旋转矢量2?

Java 如何在0到360度之间均匀地随机旋转矢量2?,java,vector,Java,Vector,我有一个矢量2: Vector2 v = new Vector2(1,0); 如何在[0360]度范围内均匀地随机旋转此向量(大约(0,0))?要逆时针随机旋转向量v: Vector2 v = new Vector2( 1,0 ); Random rnd = new Random(); double rotationAngle = 2.0 * Math.PI * rnd.nextDouble(); Vector2 vRotated = new Vector2( (v.x)*Math

我有一个
矢量2

Vector2 v = new Vector2(1,0);

如何在[0360]度范围内均匀地随机旋转此向量(大约(0,0))?

要逆时针随机旋转向量
v

Vector2 v = new Vector2( 1,0 );

Random rnd = new Random();
double rotationAngle = 2.0 * Math.PI * rnd.nextDouble();

Vector2 vRotated = new Vector2( 
   (v.x)*Math.cos(rotationAngle) + (v.y)*Math.sin(rotationAngle),
   (v.y)*Math.cos(rotationAngle) - (v.x)*Math.sin(rotationAngle)
);
变换数学起源于