首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在三维动画中保持一定数量的可见光圈。

在三维动画中保持一定数量的可见光圈。
EN

Computer Graphics用户
提问于 2020-03-04 04:28:51
回答 1查看 98关注 0票数 0

我已经创建了一个3D动画的透视投影白色圆圈随机移动在一个假的3D空间投影在2D电脑屏幕(GIF 1)。

由于我需要保持相同数量的可见圆,每当一个圆圈从框架中消失时,我必须在框架内创建一个新的可见圆。为此,我编写了以下代码:

  • 首先,我创建了初始坐标和两个运动角度(球面坐标):对于圆: circle.position.xy = np.random.uniform(-25,25,size=2) z= np.random.uniform(near_z,( far_z)圆圈.位置.z=z圈.位置.x *= z/-50圆圈.位置.y *= z/-50 circle.theta_deg = np.random.rand(1) * 360 circle.phi_deg = np.random.rand(1) * 360 theta_rad = circle.theta_deg * np.pi / 180 phi_rad = circle.phi_deg* np.pi / 180 circle.dx =航速* np.sin(-phi_rad - theta_rad) / frameRate circle.dy = -speed * np.cos(phi_rad + theta_rad) / frameRate circle.dz = -speed * np.cos(theta_rad) / frameRate
    • 然后,在播放动画的循环中,并更新每个圆圈的位置,我将这个条件放在对同一类问题这里提供的相同答案的后面: max_dist =max(abs(Circle.plaction.x),abs(Circle.plaction.y)) limit_dist = 25 *abs((Circle.plaction.z-近_z)/ far_z) z_rel = np.random.uniform(near_z,( far_z)如果max_dist > limit_dist:圆圈,位置,x= np.random.uniform(-25,25) * z_rel/far_z圆环。位置。y= np.random.uniform(-25,25) * z_rel/far_z。

我得到了一个奇怪的结果,如GIF 2所示

我的情况有什么问题,我如何发现一个从帧中消失的圆圈,并在框架内重新创建一个圆?

EN

回答 1

Computer Graphics用户

发布于 2020-03-05 02:53:28

你似乎不是在设置圈圈。

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

https://computergraphics.stackexchange.com/questions/9626

复制
相关文章

相似问题

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