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

manim边做边学--圆柱体

12

主题

12

帖子

36

积分

新手上路

Rank: 1

积分
36
Cylinder是Manim中用于创建圆柱体对象的类。
Cylinder类在制作数学、物理或工程领域的动画时,可用于以下的场景中:

  • 演示几何概念:使用Cylinder类创建圆柱体,并通过改变其参数和方法来演示圆柱体的各种几何性质,如体积、表面积等。
  • 模拟物理现象:使用Cylinder类来模拟圆柱体的滚动、碰撞等物理现象。
  • 展示工程设计:使用Cylinder类来创建圆柱体模型,并通过动画展示其设计过程或工作原理。
本篇主要介绍Cylinder类的主要参数和基本使用方法。
1. 主要参数

Cylinder的主要参数有:
参数名称类型说明radiusfloat圆柱体的半径heightfloat圆柱体的高度directionnp.ndarray圆柱体主轴的方向v_range[float]圆柱体在垂直方向上的参数化范围show_endsbool是否显示圆柱体的两端resolution[int]圆柱体的精细程度2. 主要方法

Cylinder类特有的方法主要有3个:
名称说明add_bases动态个圆柱体添加底面get_direction用于获取圆锥体的方向向量。这个方向向量通常是一个三维向量,表示圆锥体在空间中的朝向。set_direction用于设置圆锥体的方向向量。通过传入一个新的三维向量,可以改变圆锥体在空间中的朝向。3. 使用示例

下面通过几个示例演示圆柱体(Cylinder)的参数和方法的使用。
3.1. 基本圆柱体

这个示例展示如何使用Cylinder类的radius和height参数来创建一个基本的圆柱体对象。
  1. c = Cylinder(radius=1, height=2)
复制代码

3.2. 设置圆柱体方向

此示例通过调用set_direction方法改变圆柱体的方向,使其不再沿默认方向放置。
  1. c = Cylinder(
  2.     radius=1,
  3.     height=2,
  4.     show_ends=False,
  5. )
  6. # 设置圆柱体的朝向
  7. c.set_direction(UP / 2 + LEFT / 2)
复制代码

3.3. 动态添加底面

此示例先创建一个不含底面的圆柱体,然后通过add_base方法,动态的向圆柱体添加底面。
添加前后通过旋转看清有无底面的区别。
  1. c = Cylinder(
  2.     radius=1,
  3.     height=2,
  4.     show_ends=False,
  5. )
  6. # 添加底面
  7. c.add_bases()
复制代码

3.4. 圆柱体动画

此示例展示了如何为圆柱体添加动画效果,先用淡入效果创建一个圆柱体,然后使其相对于X轴旋转90度
  1. c = Cylinder(radius=1, height=2)
  2. self.play(FadeIn(c))
  3. self.play(Rotate(c, PI / 2, axis=RIGHT))
复制代码

4. 附件

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

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

本帖子中包含更多资源

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

x

举报 回复 使用道具