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的核心,包括了 ...
随机推荐
- 写写Redis十大类型stream的常用命令
前言:感觉这个好像没啥用,我没学过mq,好像这个东西用别的中间件比较好,比如kafka,rabbitmq 最后一个是bitfield,看尚硅谷介绍说那玩意基本用不着,所以那个也不看了,直接跳了,十大类 ...
- 使用ventoy安装windows10
使用ventoy安装windows10 在ventoy中选择windows10镜像 进入Windows安装界面 下一步,选择现在安装 稍等片刻 选择我没有产品密钥 根据需求选择对应版本 下一步,接受许 ...
- 【VMware】虚拟机 VMware WorkStation Pro 下载安装(Windows)
官网地址: 下载地址:[VMware WorkStation Pro 15.5 For Windows] https://www.vmware.com/cn/products/workstation- ...
- 【Spring-Security】Re12 JsonWebToken
一.认证机制种类: 1.HTTP-Basic-Auth 每次请求接口必须提供账号信息[username + password] 但是信息有暴露风险,配合RestFul风格使用,逐渐淘汰 2.Cooki ...
- 记一次失败记录: MindSpore1.3.0 GPU 源码安装 —— Ubuntu18.04系统 (最终安装结果为失败)
官网地址: https://www.mindspore.cn/install 系统:Ubuntu18.04 硬件: i7-9700k CPU 2060super nvidia显卡 由于考虑到minds ...
- Linux环境下配置vscode的C/C++ 的make编译环境(编写makefile方式)
主要前提内容参照前文: Linux环境下配置vscode的C/C++编译环境 =========================================================== 代 ...
- Ubuntu系统下python模块graphviz运行报错:graphviz.backend.execute.ExecutableNotFound: failed to execute PosixPath(‘dot‘)
代码中需要运行python模块graphviz,安装: pip install graphviz 运行后报错: graphviz.backend.execute.ExecutableNotFound: ...
- .gitignore文件的使用方法(学习总结版)—— .gitignore 文件的配合用法
本文紧接前文: .gitignore文件的使用方法(学习总结版) ============================================= 本文主要讨论前文中所说的一个操作,即: . ...
- CF1992场题解
Only Pluses 算法:数学. 题意简述:有三个数,每次选择一个数 \(x\),使得 \(x\) 增加一,至多操作 \(5\) 次,最后求出这三个数的乘积最大值. 简单题,一眼秒了.考虑把这 \ ...
- 掌握 Nuxt 3 的页面元数据:使用 definePageMeta 进行自定义配置
title: 掌握 Nuxt 3 的页面元数据:使用 definePageMeta 进行自定义配置 date: 2024/8/11 updated: 2024/8/11 author: cmdrago ...