gpt4 book ai didi

c++ - 在 C++ 中,如何任意创建点位置?

转载 作者:搜寻专家 更新时间:2023-10-31 02:23:24 27 4
gpt4 key购买 nike

我正在尝试编写模拟程序。最初我会像这样随机创建点...

for (int c = 0; c < number; c++){  
for(int d = 0; d < 3; d++){
coordinate[c][d] = randomrange(low, high);
}
}

其中 randomrange() 是一个任意范围的随机化器,number 是创建点的数量,d 代表 x,y,z 坐标。它有效,但我想更进一步。我将如何定义已知形状?假设我想要圆周上的 80 个点,或形成立方体边缘的 500 个点。我可以在纸上很好地解释,但在将过程描述为编码时遇到问题。这与问题无关,但我最终将这些点带到 txt 文件中,然后使用 matlab、scatter3 来绘制这些点。创建“形状”点是我的问题。

最佳答案

圆和立方体的边集都是一维集,因此您可以将它们表示为实数间隔。对于圆,它很简单:使用区间 (0, 2pi) 并将区间中的随机值 phi 转换为点:

xcentre + R cos(phi), ycentre + R sin(phi)

对于一个立方体,您有 12 个分段,因此使用区间 (0, 12) 并将区间中的随机数拆分为整数部分和分数。然后用整数作为边数,小数作为边内的位置。

关于c++ - 在 C++ 中,如何任意创建点位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29363217/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com