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的核心,包括了 ...
随机推荐
- Java 根据XPATH批量替换XML节点中的值
根据XPATH批量替换XML节点中的值 by: 授客 QQ:1033553122 测试环境 JDK 1.8.0_25 代码实操 message.xml文件 <Request service=&q ...
- ABC354
A link 模拟整个过程即可. 点击查看代码 #include<bits/stdc++.h> #define int long long using namespace std; sig ...
- 老旧 Linux 系统搭建现代 C++ 开发环境 —— 基于 neovim
问题背景 公司配发的电脑是 macOS,日常开发需要访问 Linux 虚拟机,出于安全方面的考虑,只能通过跳板机登录.这阻止了大多数远程图形界面的使用,让写代码的工作变得复杂起来,市面上非常好用的 V ...
- 【Java】【常用类】Date 日期类
java.util.Date java.sql.Date 创建日期对象和打印结果 public class DateTest { public static void main(String[] ar ...
- 【Java-GUI】12 Swing07 JList
列表和下拉选择: package cn.dzz; import javax.swing.*; import javax.swing.border.EtchedBorder; import javax. ...
- 循环神经网络 —— LSTM 图片
- pytorch 第三方模块 GraphNAS 安装成功记录
实验室的小师妹要安装pytorch的第三方模块,经过多方努力没有安装上,后来我接手后也是感觉头疼. 该模块地址: https://github.com/GraphNAS/GraphNAS 该模块主 ...
- pytorch报错----------- ***ValueError: some of the strides of a given numpy array are negative.
最近遇到的一个pytorch报错: 然后报错了,这个几行代码就是从一个图片中读入数据,把bgr模式图片矩阵转换为rgb模式,这里采用的是改变矩阵索引,索引倒排 [..., ::-1] . ...
- 在一串字符串中Java使用正则匹配电话号码的方法
1.使用正则表达式来匹配电话号码 在Java中,使用正则表达式匹配电话号码是一个常见的需求.电话号码的格式可能因国家/地区而异,但一个典型的格式可能是这样的:(123) 456-7890.在这个例子中 ...
- NoSQL之事务和相关特性
NoSQL 简介 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL". 在现代的计算系统上每天网络上都会产生庞大的数据量. 这些数据有很大一部分是由关 ...