翼度科技»论坛 编程开发 python 查看内容

manim边学边做--立方体和棱柱体

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
本篇介绍Manim中创建三维立体的两个常用对象:Cube和Prism。
Cube在制作动画时,可以用于展示立体几何中的立方体概念,或者通过旋转、缩放等动画效果来帮助理解三维空间中的几何变换。
Prism是长方体,继承自Cube,与Cube相比,它可以更进一步设置不同的边长。
1. 主要参数

Cube的主要参数有:
参数名称类型说明side_lengthfloat立方体的边长fill_opacityfloat立方体的透明度fill_colorColor立方体的颜色stroke_widthfloat设置立方体边框的宽度Prism与Cube的区别在于它没有side_length参数,取而代之是dimensions参数。
参数名称类型说明dimensionstuple[float, float, float]长方体的长,宽和高Prism的dimensions参数长宽高定义为同样的值时,就是Cube。
2. 主要方法

Cube和Prism的没有特有的方法,对于通用的方法都支持,
比如shift(平移),rotate(旋转)和scale(缩放)等。
3. 使用示例

这个对象的使用比较简单,下面的示例演示其基本的使用和操作。
3.1. 默认显示

这个示例展示了如何在Manim中创建并显示一个立方体(Cube)和一个长方体(Prism)。
  1. # 创建一个立方体
  2. cube = Cube()
  3. # 创建一个棱柱
  4. prism = Prism()
复制代码

3.2. 变换颜色

在这个示例中,首先创建了一个红色的立方体和一个蓝色的长方体。
接着,立方体逐渐变化为绿色,而长方体逐渐变化为黄色。
实际动画中,通过颜色的变换可以更好地演示形状属性的动态变化。
  1. # 创建一个立方体
  2. cube = Cube()
  3. cube2 = Cube(fill_color=RED)
  4. # 创建一个棱柱
  5. prism = Prism()
  6. prism2 = Prism(fill_color=GREEN)
复制代码

3.3. 移动和旋转

此示例首先展示了一个立方体和一个长方体。
接下来,让立方体向右移动,而长方体向左移动,然后立方体顺时针旋转45度,而长方体则逆时针旋转45度。
这种移动和旋转的效果可以生动地展示三维空间中的几何变换。
  1. # 创建一个立方体
  2. cube = Cube(fill_color=RED)
  3. # 创建一个棱柱
  4. prism = Prism(fill_color=GREEN)
  5. # 移动
  6. self.play(
  7.     cube.animate.shift(RIGHT),
  8.     prism.animate.shift(LEFT),
  9. )
  10. # 旋转
  11. self.play(
  12.     cube.animate.rotate(PI / 4),
  13.     prism.animate.rotate(-PI / 4),
  14. )
复制代码

3.4. 组合使用

在这个示例中,同样先创建一个立方体和一个长方体。
然后将这两个形状组合成一个整体,再整体向上移动,并旋转一个小角度。
这种组合使用的方式可以展示如何在Manim中处理和组织多个形状,以及如何对它们进行整体的动画效果。
  1. # 创建一个立方体
  2. cube = Cube(fill_color=RED)
  3. # 创建一个棱柱
  4. prism = Prism(fill_color=GREEN)
  5. # 将立方体放在棱柱的右边
  6. cube.next_to(prism, RIGHT)
  7. # 组合使用
  8. vg = VGroup(cube, prism)
  9. # 整体移动组合
  10. self.play(vg.animate.shift(UP))
  11. # 整体旋转组合
  12. self.play(vg.animate.rotate(PI / 2, axis=UP))
复制代码

4. 附件

文中的代码只是关键部分的截取,完整的代码共享在网盘中(cube_prism.py),
下载地址: 完整代码 (访问密码: 6872)

来源:https://www.cnblogs.com/wang_yb/p/18541513
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具