几何图形间的集合关系,是数学和几何学中的一个基本概念,

通过计算不同形状(如圆形、矩形、三角形等)的交集和并集等关系,可以实现复杂的图形处理和视觉效果。

manim中提供了4种计算几何形状间集合关系的模块:

  1. Difference:从形状A中减去与形状B相交的部分
  2. Exclusion:减去形状A形状B相交的部分,保留不同的部分
  3. Intersection:保留所有形状间的交集
  4. Union:保留所有形状的并集

1. 主要参数

Difference的主要参数有:

参数名称 类型 说明
subject VMobject 主要显示的几何体
clip VMobject 用来切割的几何体

Difference就是将subjectclip相交的部分从subject中删掉。

Exclusion的主要参数有:

参数名称 类型 说明
subject VMobject 第一个几何体
clip VMobject 第二个几何体

Exclusion就是将subjectclip相交的部分删掉,保留subjectclip剩余的部分。

Intersection的主要参数有:

参数名称 类型 说明
vmobjects *VMobject 可以传入2个或2个以上的几何体

Intersection就是保留所有几何体相交的部分。

如果参数vmobjects中几何体的数量小于2会报错。

Union的主要参数有:

参数名称 类型 说明
vmobjects *VMobject 可以传入2个或2个以上的几何体

Union是保留所有几何体合起来的部分。

如果参数vmobjects中几何体的数量小于2会报错。

2. 使用示例

manim提供的集合关系模块,大大简化了代码的编写。

2.1. Difference 示例

subject = Square()
clip = Circle() Difference(subject, clip)

2.2. Exclusion 示例

subject = Square()
clip = Circle() Exclusion(subject, clip)

2.3. Intersection 示例

subject = Square()
clip = Circle() Intersection(subject, clip)

2.4. Union 示例

subject = Square()
clip = Circle() Union(subject, clip)

3. 附件

文中完整的代码放在网盘中了(bool_ops.py),

下载地址: 完整代码 (访问密码: 6872)

manim边学边做--图形间集合关系的更多相关文章

  1. 开源图形库 c语言-图形图像库 集合[转]

    开源图形库 c语言-图形图像库 集合[转] Google三维API O3D O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准. ...

  2. 学EE做硬件找工作不如学CS做软件,为什么会这样?

    学EE做硬件找工作不如学CS做软件,为什么会这样? 电子工程(EE)就业最好的方向居然是转计算机,也许让有的人觉得很不公平,EE也是很重要的学科,我们学习也很努力,为什么就业会不如CS?也有的人好奇, ...

  3. 牛腩学Kotlin做Android应用

    牛腩学Kotlin做Android应用,蹭热度视频,边学边做, 01-kotlin插件安装及hello world 02-kotlin基础语法速览 哔哩哔哩观看地址:http://www.bilibi ...

  4. php实现记忆化递归--以斐波那契数列为例(还是以边学边做为主,注重练习)

    php实现记忆化递归--以斐波那契数列为例(还是以边学边做为主,注重练习) 一.总结 1.递归不优化的话,30层开外就有点吃力了 2.php因为定义变量的时候不用定义变量类型,所以数组里面的类型也是p ...

  5. html5-3 html5标签(热点地图如何实现)(边学边做)

    html5-3 html5标签(热点地图如何实现)(边学边做) 一.总结 一句话总结:热点地图用绝对定位实现. 1.自定义列表怎么弄? dl  自定义列表dt  自定义标题dd  自定义列表内容 2. ...

  6. 转载:2.1 运行中的Nginx进程间的关系《深入理解Nginx》(陶辉)

    原文:https://book.2cto.com/201304/19624.html 在正式提供服务的产品环境下,部署Nginx时都是使用一个master进程来管理多个worker进程,一般情况下,w ...

  7. python 全栈开发,Day7(元组转换,列表以及字典的坑,集合,关系测试,深浅copy,编码补充)

    一.元组转换 数字 tu = (1) tu1 = (1,) print(tu,type(tu)) print(tu1,type(tu1)) 执行输出: 1 <class 'int'>(1, ...

  8. UML类图与类间六种关系表示

    UML类图与类间六种关系表示 1.类与类图 类封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性,操作,关系的对象集合的总称. 类图是使用频率最高的UML图之一. 类图用于描述系统中所包含的 ...

  9. pg_hba.conf、pool_hba.conf 以及 pool_passwd 三者间的关系

    pg_hba.conf.pool_hba.conf 以及 pool_passwd 三者间的关系: 1.pg_hba.conf.pool_hba.conf 以及 pool_passwd 三者关系 pg_ ...

  10. JDK与JRE、JVM三者间的关系及JDK的安装部署

    JDK与JRE.JVM三者间的关系及JDK的安装部署 一.JDK与JRE.JVM三者间的关系 JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了 ...

随机推荐

  1. Sonar 扫描之SonarScanner介绍

    Sonar扫描之SonarScanner介绍 SonarScanner用于在构建系统没有指定scanner时使用. 项目配置 在你的项目根目录中创建一个名为 sonar-project.propert ...

  2. 测试思想-流程规范 用例优先级定义与使用规范 V1.0

    用例优先级定义与使用规范 V1.0 By:授客   1.      规范说明 目的 对软件测试过程中的用例级别进行详细描述及标准化定义,明确不同测试阶段的测试范围,减少测试冗余投入,提高测试效率,建立 ...

  3. Jmeter参数化1-随机数设置

    背景:当新增接口的某个字段是唯一性,每次调用该新增接口都会需要单独传入这个字段,麻烦且繁琐. 解决:jmeter设置随机数参数,然后接口调用该参数就达到了自动性不再需要人工传入不同的值.方便调用接口, ...

  4. 【C3】07 盒子模型

    在 CSS 中,所有的元素都被一个个的"盒子(box)"包围着, 理解这些"盒子"的基本原理,是我们使用CSS实现准确布局.处理元素排列的关键. 本文围绕 &q ...

  5. Implementation of Reinforcement Learning with Meta-Critic Networks and GAE in a Human-Centered Framework

    论文<Future of AI and Empowering Reinforcement Learning with Meta-Critic Networks and GAE in a Huma ...

  6. NVIDIA中的cupti的作用及设置: CUDA profiling tools interface —— Could not load dynamic library 'libcupti.so.10.1' —— failed with error CUPTI_ERROR_INSUFFICIENT_PRIVILEGES

    NVIDIA官方给出的说明: 可以知道,这个组件的作用是对NVIDIA的CUDA进程进行性能分析的,通过对这个组件的调用可以实现对CUDA进程的性能监测. 在使用深度学习框架时有时需要对运行的代码的C ...

  7. 【转载】 nvidia-smi - Persistence-M (Persistence Mode)

    原文链接: https://blog.csdn.net/chengyq116/article/details/103224622 版权声明:本文为CSDN博主「Yongqiang Cheng」的原创文 ...

  8. Ubuntu系统下python模块graphviz运行报错:graphviz.backend.execute.ExecutableNotFound: failed to execute PosixPath(‘dot‘)

    代码中需要运行python模块graphviz,安装: pip install graphviz 运行后报错: graphviz.backend.execute.ExecutableNotFound: ...

  9. 2023年3月份至2024年3月份CCF会议情况——人工智能领域

    April 2, 2023:          https://2023.ecmlpkdd.org/submissions/key-dates-deadlines/ ECML-PKDD (Europe ...

  10. 中电信翼康济世数据中台基于Apache SeaTunnel构建数据集成平台经验分享

    作者 | 中电信翼康工程师 代来编辑 | Debra Chen 一. 引言 Apache SeaTunnel作为一个高性能.易用的数据集成框架,是快速落地数据集成平台的基石.本文将从数据中台战略背景. ...