【问题标题】:Making random initial position by Python通过 Python 制作随机初始位置
【发布时间】:2016-08-10 13:47:51
【问题描述】:

我现在正在制作旋转轨迹。一开始我需要定义一个旋转物体的初始位置。如何通过 Python 或 NumPy 在此类对象的三个维度上制作 1000 个随机初始位置?我认为一个python函数可以解决这个问题。

【问题讨论】:

  • 使用random 模块。如果您想要更详细的答案,则必须提出更详细的问题。
  • 首先,查看numpy.random 模块:docs.scipy.org/doc/numpy/reference/routines.random.html 如果您不确定如何使用其中的任何一个,请查看它们的文档字符串——其中许多包含示例文档字符串。如果这没有帮助,请使用更多信息编辑您的问题,包括您尝试过的内容以及未按预期工作的内容。另外,您说“位置”,但没有说有多少维度。您是在使用 2-D 还是 3-D 位置?
  • 我正在处理 3-D 职位

标签: python numpy random position


【解决方案1】:

如果我理解了这个问题,您需要拾取均匀分布在球体上的点。详情请见here

import math
import numpy as np

cos_theta = 2.0 * np.random.random(100) - 1.0
phi       = 2.0 * math.pi * np.random.random(100)

sin_theta = np.sqrt( (1.0 - cos_theta)*(1.0 + cos_theta) )

x = sin_theta * np.cos(phi)
y = sin_theta * np.sin(phi)
z = cos_theta

print(x, y, z)
print("---------------------")
print(np.square(x) + np.square(y) + np.square(z))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多