manim边学边做--图形间集合关系
几何图形间的集合关系,是数学和几何学中的一个基本概念,
通过计算不同形状(如圆形、矩形、三角形等)的交集和并集等关系,可以实现复杂的图形处理和视觉效果。
manim中提供了4种计算几何形状间集合关系的模块:
Difference:从形状A中减去与形状B相交的部分Exclusion:减去形状A和形状B相交的部分,保留不同的部分Intersection:保留所有形状间的交集Union:保留所有形状的并集
1. 主要参数
Difference的主要参数有:
| 参数名称 | 类型 | 说明 |
|---|---|---|
| subject | VMobject | 主要显示的几何体 |
| clip | VMobject | 用来切割的几何体 |
Difference就是将subject和clip相交的部分从subject中删掉。

Exclusion的主要参数有:
| 参数名称 | 类型 | 说明 |
|---|---|---|
| subject | VMobject | 第一个几何体 |
| clip | VMobject | 第二个几何体 |
Exclusion就是将subject和clip相交的部分删掉,保留subject和clip剩余的部分。

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边学边做--图形间集合关系的更多相关文章
- 开源图形库 c语言-图形图像库 集合[转]
开源图形库 c语言-图形图像库 集合[转] Google三维API O3D O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准. ...
- 学EE做硬件找工作不如学CS做软件,为什么会这样?
学EE做硬件找工作不如学CS做软件,为什么会这样? 电子工程(EE)就业最好的方向居然是转计算机,也许让有的人觉得很不公平,EE也是很重要的学科,我们学习也很努力,为什么就业会不如CS?也有的人好奇, ...
- 牛腩学Kotlin做Android应用
牛腩学Kotlin做Android应用,蹭热度视频,边学边做, 01-kotlin插件安装及hello world 02-kotlin基础语法速览 哔哩哔哩观看地址:http://www.bilibi ...
- php实现记忆化递归--以斐波那契数列为例(还是以边学边做为主,注重练习)
php实现记忆化递归--以斐波那契数列为例(还是以边学边做为主,注重练习) 一.总结 1.递归不优化的话,30层开外就有点吃力了 2.php因为定义变量的时候不用定义变量类型,所以数组里面的类型也是p ...
- html5-3 html5标签(热点地图如何实现)(边学边做)
html5-3 html5标签(热点地图如何实现)(边学边做) 一.总结 一句话总结:热点地图用绝对定位实现. 1.自定义列表怎么弄? dl 自定义列表dt 自定义标题dd 自定义列表内容 2. ...
- 转载:2.1 运行中的Nginx进程间的关系《深入理解Nginx》(陶辉)
原文:https://book.2cto.com/201304/19624.html 在正式提供服务的产品环境下,部署Nginx时都是使用一个master进程来管理多个worker进程,一般情况下,w ...
- python 全栈开发,Day7(元组转换,列表以及字典的坑,集合,关系测试,深浅copy,编码补充)
一.元组转换 数字 tu = (1) tu1 = (1,) print(tu,type(tu)) print(tu1,type(tu1)) 执行输出: 1 <class 'int'>(1, ...
- UML类图与类间六种关系表示
UML类图与类间六种关系表示 1.类与类图 类封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性,操作,关系的对象集合的总称. 类图是使用频率最高的UML图之一. 类图用于描述系统中所包含的 ...
- 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_ ...
- JDK与JRE、JVM三者间的关系及JDK的安装部署
JDK与JRE.JVM三者间的关系及JDK的安装部署 一.JDK与JRE.JVM三者间的关系 JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了 ...
随机推荐
- c++17 auto非类型模板参数
//用auto非类型模板参数 #include <iostream> using namespace std; template<auto c> auto foot() { c ...
- RPA美团外卖商家中心批量发送消息
美团外卖商家中心批量发送消息,首先我们需要确定给谁发,发送什么内容 给谁发:可以传入美团用户名.美团订单号.美团将通过此条件进行搜索进入会话框 发送什么内容:批量发送信息给不同的用户,比如给不同的订单 ...
- 【Vue】代理服务配置
Springboot 后台接口地址 基础路径配置: server: port: 8080 servlet: context-path: /demo 完整路径: localhost:8080/demo ...
- 【Android】看安卓代码的一点笔记
最近项目需要把安卓项目拉下来看了 简单来说的话,网页是HTML + CSS + JS 组成的,运行环境是浏览器上面 安卓APP应用是 Java + XML 组成的,运行环境是这个安卓系统中 构成结构 ...
- 【ActiveJdbc】01 入门
官方快速上手文档: https://javalite.io/activejdbchttps://javalite.io/getting_started 完整介绍: https://javalite.i ...
- 【转载】 NCCL(Nvidia Collective multi-GPU Communication Library) Nvidia英伟达的Multi-GPU多卡通信框架NCCL 学习;PCIe 速率调研
原文地址: https://www.cnblogs.com/xuyaowen/p/nccl-learning.html ---------------------------------------- ...
- ( Ubuntu环境下 ) Vim插件管理器 Vundle 的安装
为vim安装插件的时候一般会选择先安装一个插件管理器, 一般有 Pathogen和Vundle 比较常用,同时也有比较轻量级的 Vim插件管理神器vim-plug . 1. 下载 Vim插 ...
- 大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC——如何在MPI中支持multiprocessing和fork操作——如何在HPC平台上使用pytorch——是否可以通过调度器的提交参数绕过HPC的计费系统
本文要讨论的就是如何在MPI中支持multiprocessing和fork操作,但是这个问题同时也是如何在HPC平台如何使用pytorch的问题,可以说这两个问题其实是同一个问题,而这个问题的解决过程 ...
- 如何将 Vim 剪贴板里面的东西粘贴到 Vim 之外的地方? (Ubuntu18.04系统亲测)
主要参考内容: https://www.zhihu.com/question/19863631 在vim中剪贴中的内容是难以在vim之外使用的,那么怎么修改这个问题呢? =============== ...
- baselines算法库logger.py模块分析
baselines根目录下logger.py模块代码: import os import sys import shutil import os.path as osp import json imp ...