诚城的成长 诚城的成长
首页
  • 高数基础
  • 数一

    • 高等数学
    • 线性代数
    • 概率论与数理统计
  • 820

    • 数据结构
    • 计算机操作系统
  • 英一

    • 单词
    • 语法
    • 阅读理解
    • 作文
  • 政治

    • 马克思主义基本原理
    • 毛泽东
    • 近代史
    • 思修
    • 时事
  • openpose
  • html5
  • css3
  • UI

    • Tailwind Css
    • Element-Plus
    • UniApp
  • 框架

    • Vue3
  • 拓展包

    • 包管理工具
    • 包开发
  • 开发语言

    • C语言
    • PHP
    • Phyton
  • 框架

    • Laravel
  • 会计

    • 初级经济法基础
    • 初级会计实务
  • 软考

    • 信息系统项目管理师
  • 博客

    • vitepress
    • vuepress
  • manim
  • git
  • vsCode
  • latex
  • docker
  • axios
  • vim
  • mac
  • Jetbrains

    • phpstorm
    • clion
突发奇想
GitHub (opens new window)

诚城

我有N个梦想……
首页
  • 高数基础
  • 数一

    • 高等数学
    • 线性代数
    • 概率论与数理统计
  • 820

    • 数据结构
    • 计算机操作系统
  • 英一

    • 单词
    • 语法
    • 阅读理解
    • 作文
  • 政治

    • 马克思主义基本原理
    • 毛泽东
    • 近代史
    • 思修
    • 时事
  • openpose
  • html5
  • css3
  • UI

    • Tailwind Css
    • Element-Plus
    • UniApp
  • 框架

    • Vue3
  • 拓展包

    • 包管理工具
    • 包开发
  • 开发语言

    • C语言
    • PHP
    • Phyton
  • 框架

    • Laravel
  • 会计

    • 初级经济法基础
    • 初级会计实务
  • 软考

    • 信息系统项目管理师
  • 博客

    • vitepress
    • vuepress
  • manim
  • git
  • vsCode
  • latex
  • docker
  • axios
  • vim
  • mac
  • Jetbrains

    • phpstorm
    • clion
突发奇想
GitHub (opens new window)
  • introduction
  • animation
  • position
    • absolute
      • .to_edge()
      • .to_corner()
    • relative
      • .move_to()
      • .next_to()
      • .shift()
      • align_to
  • Color
  • material
  • 数学

  • 视频进度条
  • manim
诚城
2022-01-27
目录

position原创

FRAME_HEIGHT 默认为8,即画面高度默认为8个单位。
FRAME_WIDTH 由单位的长宽比决定。

constants.py 定义了以下方向常量:

# `manim` 使用三维 `ndarray` 表示一个点的坐标:
# np.array([x,y,z])
UP=np.array([0,1,0])
DOWN=np.array([0,-1,0])
LEFT=np.array([-1,0,0])
RIGHT=np.array([1,0,0])
OUT=np.array([0,0,1])
IN=np.array([0,0,-1])
# UL UR DL DR  对应上左、上右、下左、下右
# TOP BOTTOM LEFT_SIDE RIGHT_SIDE 顶部、底部、左边、右边
# 在3D中,还有 OUT IN 向外、向里

坐标之间根据向量计算法则进行计算,如: UP2+RIGHT3 = np.array([3,2,0])

img.set_hight() # 设置图片高度
img.set_width() # 设置图片宽度

# absolute

绝对位置。

# .to_edge()

.to_edge(位置,buff=数字)

xxx.to_edge(UP) # 对象距离上边1个单位
xxx.to_edge(DOWN) # 对象距离下边1个单位

# .to_corner()

将对象移动到角落。

xxx.to_corner(UR [,buff]) // buff 为缓冲,默认buff 为0.5,BUFF 可以理解为角落单位的倍数距离
需要 self.add(mob) 才能显现。

xxx.to_corner(UR)
xxx.to_corner(UP+RIGHT) # 对象距离右上边1个单位
xxx.to_corner(DOWN+LEFT) # 对象距离左下边1个单位

# relative

相对位置。

# .move_to()

以对象中心为移动点,使目标移动到指定位置。

vector = np.array([1,2,0]) # x=1 y=2 z=0
xxx.move_to(UP*2+RIGHT) # 对象向上移动2个单位,向右移动一个单位
xxx.move_to(vector) # 对象向上移动2个单位,向右移动一个单位
xxx.move_to(vector,LEFT) # 第二个参数是对齐方式,默认居中对齐
xxx.move_to(vector,RIGHT,np.array([1,1,1])) # 第三个参数是移动的维度,是数组,默认为[1,1,1],可以设置为0,屏蔽其移动维度。

# .next_to()

紧挨着一个物体。

mob.next_to(mob1) # mob1 在 mob 的右边
mob.next_to(mob1,UP) # mob1 在 mob 的上边
mob.next_to(mob1,RIGHT, aligned_edage=UP) # mob1 在 mob 的右边,并与 mob 的上边对齐
mob.next_to(mob1,RIGHT, aligned_edage=UP, buff=2) # buff 设置缓冲距离 

# 组对齐
A = VGroup(...)
B = VGroup(...)

B.next_to(A[1],DWON, aligned_edage=LEFT) # B在A的下面,并且 B0 与 A1 对齐
B.next_to(A[2],DWON, submobject_to_align=B[1], aligned_edage=LEFT) # B在A的下面,并且 B1与 A2 对齐
B.next_to(A,DWON, index_of_submobject_to_align=2, submobject_to_align=B[1], aligned_edage=LEFT) # 等价于上面

# .shift()

相对位置的移动。

xxx.shift(UP) # 对象向上移动1个单位
xxx.shift(UP*5) # 对象向上移动5个单位
xxx.shift(UP*2+RIGHT*3) # 对象向上移动2个单位向右移动3个单位
xxx.shift(UP*2,RIGHT*3) # 对象向上移动2个单位向右移动3个单位

# align_to

对齐

mob.align_to(参考的对象, 对齐基准)

mob.align_to(mob2,UP) # 以mob2上边为基准对齐
mob.align_to(mob2,UR) # 以mob2右上为基准对齐
上次更新: 2022/09/12, 23:05:31
animation
Color

← animation Color→

Theme by Vdoing | Copyright © 2022-2022 carveybunt | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
×

特别申明:

本站所有内容均为个人理解或转载,如有不当之处,敬请大佬指导!