首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要帮助形成一个圆与立方体,使用搅拌器2.69与python引擎

我需要帮助形成一个圆与立方体,使用搅拌器2.69与python引擎
EN

Stack Overflow用户
提问于 2014-02-05 10:41:30
回答 1查看 730关注 0票数 0

请原谅我,但我只知道如何在VB中编写一些代码,python并不是我所习惯的。我确实试着看看其他人是否做了或者展示了我想要完成的算法。

我有一个视觉设计在我的头脑和我一直试图做的是得到一些立方体(变量输入目前)被放置在一定的距离(可能5-10搅拌器单位)的中心和角度的脸,这样就会有一个脸指向中心和一个脸指向相反的方向。我试着从10个立方体开始,因为我觉得这将是一个公平的数字,希望显示一个圆的形状。

我制作了一个图像来描述我想要做的事情:

到目前为止,我所能得出的结果是,我需要添加一个具有特定旋转的立方体,并且每个立方体的旋转都需要步长。所以需要一个小的等式,就像这样。

代码语言:javascript
复制
    (10)           (36)
360 / numberOfCubes = steppedAngle

这就是我所能知道的,因为我不知道如何编程python来做到这一点。

任何帮助都将受到极大的感谢,并将在最终渲染中得到确认。

最新情况:1

多亏了下面答案的帮助,我终于得到了我想要的结果。WVDU0j.png

这是在下面的答案帮助下编写的代码。‘导入bpy导入数学

代码语言:javascript
复制
##num of cubes
n = 10

##distange from center
radius = 7

for i in range(1, n + 1):
    angle = (i - 1) * math.pi * 2 / n
    xcoord=(radius * math.cos(angle))
    ycoord=(radius * math.sin(angle))
    bpy.ops.mesh.primitive_cube_add(location=(xcoord,ycoord,0),rotation=(0,0,angle))

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-05 11:07:15

让我们从一个圆的立方体开始,我们将从那里开始工作。

你有N个立方体,你想把它们放在半径R的圆圈里,围绕宇宙中心(0,0,0)。

应用基本三角函数:每个立方体位于圆的一个半径上,当你除以N时,你的第一个立方体在0rad,第二个立方体在2*pi/N rad,第三个立方体在2* 360/N rad,.你的N立方体在(N-1) * 2*pi/N。现在我们有了一个公式:立方体在圆中的位置=(i-1)* 2*pi/N,对于从1到N的每一个i,现在在空间坐标中的位置是(r*cos(角),r*sin(角),0),它的中心在(0,0,0)上。

我的Blender Python非常生疏,所以我不会为您提供一个完整的解决方案,但是应该是这样的:

代码语言:javascript
复制
import math

for i in range(1, N + 1):
    angle = (i - 1) * math.pi * 2 / N
    x_coord = radius * math.cos(angle)
    y_coord = radius * math.sin(angle)
    z_coord = 0
    cube = place_cube(x_coord, y_coord, z_coord)

这将把立方体放在正确的坐标上,但它不会使它们朝着正确的方向转变。幸运的是,您可以按角度旋转每个立方体,并使其处于正确的方向。所以你可以:

代码语言:javascript
复制
import math

for i in range(1, N + 1):
    angle = (i - 1) * math.pi * 2 / N
    x_coord = radius * math.cos(angle)
    y_coord = radius * math.sin(angle)
    z_coord = 0
    cube = place_cube(x_coord, y_coord, z_coord)
    cube.rotate_around_z(angle)

我没有提供place_cube和rotate_around_z函数,因为我几乎不记得混合器Python,但它不应该太难。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21574926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档