我在坐标(0, 0, 0)
处有一个物体,我希望将此物体沿预定距离的任何方向转换,例如5
。
如何找到最终坐标? (不迭代检查)
答案 0 :(得分:0)
我相信你所问的是如何产生距离原点5(0,0,0)的点。一般情况下,您可以使用parametric equations of a sphere来生成这些点,方法是首先分别选择[0,2pi]和[0,pi]范围内的两个随机数,然后您的观点为
x = r * cos(theta) * sin(phi)
y = r * sin(theta) * sin(phi)
z = r * cos(phi)
如果θ是第一个随机数,则phi是第二个,r是距离原点的距离。
在Unity中,它更容易,因为你可以使用Random.onUnitSphere
给你一个距离原点正好一点的点。然后乘以5,例如:
finalPosition = Random.onUnitSphere * r
再次,你的例子中的r将是5.
答案 1 :(得分:-1)
你可以达到与T.Kiley完全相同的方式,即只选择一个完全随机的向量,它将具有随机方向和随机幅度。然后,您可以对该矢量进行标准化,并将其乘以5(或所需的幅度)。