想要做出来的效果就是(3D的)能让图里面的波波动起来,然后另外再找一个点他是有两个波,而且他们波动的方向是相反的,所以他们是互相抵消;一些加强一些抵消就得到明暗相间的条纹(p1);最后所有的条纹从俯视视角看是一个牛顿环的样子!(p2)
我想要达




阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你想在 Blender 中制作一个 3D 模型,模拟正弦波的运动,然后使用两个相反方向的波来实现互相抵消的效果,最后得到明暗相间的条纹。
可以使用 Blender 的 Particle System 来实现这个效果。下面是一个简单的步骤:
Window > Tutorials > Particles > New 创建一个新的 Particle System。Properties 面板中,设置 Type 为 Hair,Render Type 为 Points。Particles 面板中,添加一个 Curve,用于定义波的形状。Curve 面板中,添加一个 Spline,用于定义波的路径。Spline 面板中,添加一些控制点,用于定义波的形状。Particles 面板中,添加一个 Physics,用于定义波的运动。Physics 面板中,设置 Type 为 Spring,Spring 的 Strength 设置为 1。Particles 面板中,设置 Type 为 Hair,Render Type 为 Points。Curve 面板中,添加一个新的 Spline,用于定义第二个波的路径。Spline 面板中,添加一些控制点,用于定义第二个波的形状。Particles 面板中,添加一个 Physics,用于定义第二个波的运动。Physics 面板中,设置 Type 为 Spring,Spring 的 Strength 设置为 -1。Particles 面板中,添加一个 Mix,用于混合两个波的效果。Mix 面板中,设置 Type 为 Add,Factor 设置为 0.5。这样,你就可以在 Blender 中制作一个定态的正弦波,使用两个相反方向的波来实现互相抵消的效果,最后得到明暗相间的条纹。
代码:
# 创建 Particle System
ps = bpy.data.particles.new("Wave")
# 创建波的形状
curve = bpy.data.curves.new("WaveCurve", type='CURVE')
curve.dimensions = '3D'
curve.bevel_depth = 0.1
curve.bevel_resolution = 10
# 设置波的运动
physics = ps.physics
physics.type = 'SPRING'
physics.strength = 1
# 创建第二个波
ps2 = bpy.data.particles.new("Wave2")
# 创建第二个波的形状
curve2 = bpy.data.curves.new("WaveCurve2", type='CURVE')
curve2.dimensions = '3D'
curve2.bevel_depth = 0.1
curve2.bevel_resolution = 10
# 设置第二个波的运动
physics2 = ps2.physics
physics2.type = 'SPRING'
physics2.strength = -1
# 设置互相抵消的效果
mix = ps2.mixer
mix.type = 'ADD'
mix.factor = 0.5
请注意,这只是一个简单的示例代码,实际实现中可能需要更多的调整和优化。