我有一个Vector2
:
Vector2 v = new Vector2(1,0);
如何以[0,360]度范围内的均匀分布随机旋转此向量(大约(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)
);
转换数学来自here
关于java - 如何均匀地在0和360度之间随机旋转Vector2?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7274005/