Vector 将随机排列添加到方向向量
假设我有一个单位向量a=vector(0,1,0),我想在x=vector(-0.2,0,-0.2)和y=vector(0.2,0,0.2)之间加一个随机排列,我该怎么做呢 如果我只是在x和y之间生成一个随机向量,我会得到一个值,在一个正方形的边界上: 我想要的是x和y组成的圆内的值: 这似乎是个简单的问题,但我现在想不出解决办法。任何帮助都将不胜感激Vector 将随机排列添加到方向向量,vector,spread,Vector,Spread,假设我有一个单位向量a=vector(0,1,0),我想在x=vector(-0.2,0,-0.2)和y=vector(0.2,0,0.2)之间加一个随机排列,我该怎么做呢 如果我只是在x和y之间生成一个随机向量,我会得到一个值,在一个正方形的边界上: 我想要的是x和y组成的圆内的值: 这似乎是个简单的问题,但我现在想不出解决办法。任何帮助都将不胜感激 (我没有在mathoverflow上问这个问题,因为这不是一个真正的“研究级数学问题”)如果我读对了你的问题,你需要一个在特定长度(圆的半径
(我没有在mathoverflow上问这个问题,因为这不是一个真正的“研究级数学问题”)如果我读对了你的问题,你需要一个在特定长度(圆的半径)内的随机方向上的向量 圆的公式是:x2+y2=r2 因此,如果你有一个限制向量长度的最大半径,r,也许可以进行如下操作:
如果我读对了你的问题,你需要一个在特定长度(圆的半径)内的随机方向上的向量 圆的公式是:x2+y2=r2 因此,如果你有一个限制向量长度的最大半径,r,也许可以进行如下操作:
谢谢,成功了。如果我想对3个轴执行此操作,那么执行zLim=sqrt(r²-x²-y²)并使用它为第三个轴生成一个随机值就足够了吗?我不完全确定这是否会给所有3个轴一个平等的机会?@Silverlan看到更新的答案,总体来说这可能是一个更好的方法。谢谢,这就成功了。如果我想对3个轴执行此操作,那么执行zLim=sqrt(r²-x²-y²)并使用它为第三个轴生成一个随机值就足够了吗?我不完全确定这是否会给所有3个轴一个平等的机会?@Silverlan看到更新的答案,总体来说这可能是一个更好的方法。