使用 Manim 创建一个二维坐标平面【NumberPlane】
NumberPlane
是 Manim 中用于创建一个二维坐标平面的类。它可以帮助用户在场景中可视化坐标轴、网格线以及其他数学概念。具体来说,它的功能包括:
-
坐标轴:
NumberPlane
提供了 x 轴和 y 轴,通常是中心对称的,允许用户清楚地看到坐标系的划分。 -
网格线:默认情况下,
NumberPlane
会显示背景网格,这对于展示数学函数、几何形状等非常有帮助。 -
自定义范围:用户可以定义坐标平面的范围,比如 x 和 y 值的最小和最大值。
-
坐标标签:可以为坐标轴添加标签,以便更好地标识坐标系中的具体值。
-
与其他对象的交互:可以将其他形状、函数或动画放置在
NumberPlane
上,从而在动画中展示数学概念。
接下来我看看一下构造函数:
构造函数
class NumberPlane(x_range=(-7.111111111111111, 7.111111111111111, 1), y_range=(-4.0, 4.0,1), x_length=None, y_length=None, background_line_style=None, faded_line_style=None,faded_line_ratio=1, make_smooth_after_applying_functions=True, **kwargs)
NumberPlane
类的构造函数允许你创建一个二维坐标平面。以下是参数的详细说明:
参数详解
-
x_range (
tuple
):- 用于定义 x 轴的范围。
- 格式为
(min, max, step)
,其中min
是最小值,max
是最大值,step
是每个网格线之间的间距。 - 示例:
(-7, 7, 1)
表示 x 轴从 -7 到 7,网格线间隔为 1。
-
y_range (
tuple
):- 用于定义 y 轴的范围,格式与
x_range
相同。 - 示例:
(-4, 4, 1)
表示 y 轴从 -4 到 4,网格线间隔为 1。
- 用于定义 y 轴的范围,格式与
-
x_length (
float
或None
):- 可选参数,定义 x 轴的长度(像素或单位长度)。
- 如果设置为
None
,则会根据x_range
自动计算。
-
y_length (
float
或None
):- 可选参数,定义 y 轴的长度(像素或单位长度)。
- 如果设置为
None
,则会根据y_range
自动计算。
-
background_line_style (
dict
或None
):- 用于定义背景网格线的样式,如颜色、透明度等。
- 示例:
{'stroke_color': BLUE, 'stroke_width': 2}
。
-
faded_line_style (
dict
或None
):- 定义淡化网格线的样式。这些线条通常用于绘制更淡的背景线。
- 示例:
{'stroke_color': GRAY, 'stroke_opacity': 0.3}
。
-
faded_line_ratio (
float
):- 定义淡化线条与标准线条的比例。
- 默认值是
1
,表示淡化线和背景线会有相同的长度比率。
-
make_smooth_after_applying_functions (
bool
):- 如果设置为
True
,在应用变换函数后会对图形进行平滑处理。
- 如果设置为
-
kwargs:
- 其他参数,可用于进一步的自定义。
示例1:
from manim import * class NumberPlaneExample01(Scene): def construct(self): number_plane = NumberPlane( x_range=(-7, 7, 1), # x轴范围 y_range=(-4, 4, 1), # y轴范围 x_length=10, # x轴长度 y_length=6, # y轴长度 background_line_style={ "stroke_color": TEAL, "stroke_width": 4, "stroke_opacity": 0.6 }, faded_line_style={ "stroke_color": GRAY, "stroke_opacity": 0.3 }, faded_line_ratio=0.8, # 淡化线与背景线的比例 make_smooth_after_applying_functions=True # 启用平滑处理 ) # 添加 NumberPlane 到场景 self.add(number_plane) # 展示一些文字 title = Text("Number Plane Example").to_edge(UP) self.add(title) # 稍等一会儿,以便观看结果 self.wait(2)
参数说明
- x_range: 设置 x 轴的范围为 -7 到 7,步长为 1。
- y_range: 设置 y 轴的范围为 -4 到 4,步长为 1。
- x_length: 设置 x 轴的长度为 10(单位像素)。
- y_length: 设置 y 轴的长度为 6(单位像素)。
- background_line_style: 设置背景线的样式,包含颜色、宽度和透明度。
- faded_line_style: 设置淡化线的样式,通常用于更淡的背景线。
- faded_line_ratio: 比例设置为 0.8,表示淡化线条与标准线条长度的关系。
- make_smooth_after_applying_functions: 启用对应用函数后的平滑处理。
运行结果:
示例2:
from manim import *class NumberPlaneExample(Scene):def construct(self):number_plane = NumberPlane(background_line_style={"stroke_color": TEAL,"stroke_width": 4,"stroke_opacity": 0.6})self.add(number_plane)
运行结果:
示例3:
class NumberPlaneScaled(Scene):def construct(self):number_plane = NumberPlane(x_range=(-4, 11, 1),y_range=(-3, 13, 1),x_length=5,y_length=5,).move_to(LEFT*3)number_plane_scaled_y = NumberPlane(x_range=(-4, 11, 1),x_length=5,y_length=4,).move_to(RIGHT*3)self.add(number_plane)self.add(number_plane_scaled_y)
运行结果:
相关文章:
使用 Manim 创建一个二维坐标平面【NumberPlane】
NumberPlane 是 Manim 中用于创建一个二维坐标平面的类。它可以帮助用户在场景中可视化坐标轴、网格线以及其他数学概念。具体来说,它的功能包括: 坐标轴:NumberPlane 提供了 x 轴和 y 轴,通常是中心对称的,允许用户清…...
git系统学习
git系统学习 git命令行获取git 版本号 创建初始版本库创建git库初始化用户名和密码查看用户名和邮箱修改用户名和密码 将文件添加到版本库中删除暂存文件提交代码查看提交信息查看更加详细的信息查看提交差异版本库内文件的删除和重命名删除库里的文件重命名库里的文件 打标签查…...
win11启动IIS服务配置成web服务器·
为什么要将本地配置为 Web 服务器? 在 Web 开发过程中,将本地配置为 Web 服务器有诸多好处: 实时预览: 修改代码后,无需每次都上传到远程服务器,即可在本地浏览器中实时查看效果。 离线开发: 无需依赖网络连接&#x…...
JavaEE: 死锁问题详解(5000字)
文章目录 死锁的出现场景1. 一个线程一把锁,这个线程针对这把锁,连续加锁了两次2. 两个线程,两把锁3. N个线程 , M个锁4. 内存可见性为什么会出现内存可见性问题呢?解决方法 volatile关键字 总结synchronized:死锁的四个必要条件(缺一不可)[重点]:内存可见性问题: 死锁的出现场…...
Java程序员接单分享
作为一名Java程序员,这阵子通过承接些小型项目,我顺利跨过了月薪破万的门槛。这些项目虽小,却如同磨刀石般,让我在实战中发现了自身技术栈的棱角与不足,尤其是意识到了在Java这一浩瀚技术海洋中的诸多未知领域。我深知…...
人工智能深度学习系列—深度学习中的相似性追求:Triplet Loss 全解析
人工智能深度学习系列—深度解析:交叉熵损失(Cross-Entropy Loss)在分类问题中的应用 人工智能深度学习系列—深入解析:均方误差损失(MSE Loss)在深度学习中的应用与实践 人工智能深度学习系列—深入探索KL…...
二十八、【人工智能】【机器学习】- 隐马尔可夫模型 (Hidden Markov Models, HMMs)
系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…...
调用azure的npm实现outlook_api模拟查看邮件、发送邮件(实现web版接受outlook邮件第一步)
文章目录 ⭐前言⭐注册azure应用💖添加权限 ⭐调用npm 实现收发邮件💖安装依赖💖创建appSettings.js 放置密钥💖创建graphHelper.js封装功能💖主文件index.js 对外暴露💖效果 ⭐结束 ⭐前言 大家好&#x…...
关于使用Next遇到的一些新特性
用next之后发现,这是作为全栈比较好用的框架 API 1、app Router 这是目前next官方以及未来推荐的新技术方向 若使用api路由用来管理后端api接口 (1)此时在app文件夹下创建 api名称目录(如 getApiKey) (…...
【Linux 驱动】IMX6ULL input驱动
1. input子系统介绍 input 子系统分为 input 驱动层、input 核心层、input 事件处理层,最终给用户空间提供可访问的设备节点。 驱动层:输入设备的具体驱动程序,比如按键驱动程序,向内核层报告输入内容核心层:承上启下…...
Docker常用的一些命令
Docker 提供了一系列命令来管理和操作容器、镜像、网络和卷。以下是一些常用的 Docker 命令及其简单示例: 基本命令 启动 Docker sudo systemctl start docker停止 Docker sudo systemctl stop docker重启 Docker sudo systemctl restart docker查看 Docker 状态…...
不同环境下RabbitMQ的安装-3 操作RabbitMQ
前面两篇从不同环境下RabbitMQ的安装-1 为什么要使用消息服务 到同环境下RabbitMQ的安装-2 ARM架构、X86架构、Window系统环境下安装RabbitMQ介绍了关于如何在ARM架构、X86架构和Window系统下如何安装,各位小伙伴可以根据自己的实际开发场景参考安装。 到本篇是一些…...
十二、享元模式
文章目录 1 基本介绍2 案例2.1 Digit 接口2.2 Color 枚举2.3 BigDigit 类2.4 DigitFactory 类2.5 Client 类2.6 Client 类的测试结果2.7 总结 3 各角色之间的关系3.1 角色3.1.1 Flyweight ( 抽象享元 )3.1.2 ConcreteFlyweight ( 具体享元 )3.1.3 UnsharedFlyweight ( 非享元 )…...
Istio 金丝雀发布
转载:备考ICA-Istio 金丝雀实验4 环境清理 kubectl delete gw/helloworld-gateway vs/helloworld dr/helloworld-destination #测试 kubectl get svc,pods for i in {1..10};do curl $(kubectl get svc helloworld|grep helloworld|awk {print $3":"$5}|a…...
批发行业进销存-登录适配 android 横竖屏幕 源码CyberWinApp-SAAS 本地化及未来之窗行业应用跨平台架构
一、横竖屏切换的意义 以下是移动端横屏竖屏可切换在进销存中的一些重要应用: a、数据录入与查看 在录入商品信息、库存数量等大量数据时,横屏模式可以提供更宽阔的输入区域,减少输入错误。例如,在输入长串的商品编码或详细的商…...
Python进阶 JSON数据,pyecharts制图
目录 json数据格式的转换 什么是json json本质 注意 pyecharts快速入门 画一个最简单的折线图 使用全局配置选项优化折线图 总结 json数据格式的转换 什么是json 一种轻量级的数据交换格式,可以按json指定的格式去组织和封装数据 json本质 带有特定格式的…...
富士乐施5070-V打印机驱动安装
富士乐施5070-V打印机驱动安装 特指打印A3纸张需求,即驱动中能够选择纸张类型(安装选择305df驱动只能打印A4类型) 富士乐施打印机驱动下载网址: https://m3support-fb.fujifilm-fb.com.cn/driver_downloads/www/ 安装流程&…...
目标检测 | yolov4 原理和介绍
1. 简介 YOLOv4是一种高效且准确的目标检测模型,它在YOLOv3的基础上引入了多项改进,这些改进主要集中在网络结构的优化和训练技巧的更新上。以下是YOLOv4中的一些关键技术或模块,它们对提高目标检测性能起到了重要作用: CSPDarkne…...
扩散模型系列笔记(一)——DDPM
直观理解 扩散模型分为前向过程(扩散过程,Data → \to →Noise)和后向过程(生成过程或逆扩散过程,Noise → \to →Data)。在前向过程中,对于每一个观测样本,不断向样本中添加少量噪…...
【Nuxt】自定义插件和生命周期
自定义插件 方式一: app.vue // 创建插件(在app.vue中创建全局可以使用 而在某个页面中创建只有该页面可以使用) // 方式一: const nuxtApp useNuxtApp(); nuxtApp.provide("formDate", () > {return "2023-12-12"; }) nuxtAp…...
【算法】贪心算法
应用场景——集合覆盖问题 假设存在下面需要付费的广播台,以及广播台信号可以覆盖的地区。如何选择最少的广播台,让所有的地区都可以接收到信号 贪心算法介绍 1.贪心算法是指在对问题进行求解时,在每一步选择中都采取最好或者最优的选择 2…...
面试笔记 8.5
面试常见: Jvm,高并发,多线程,数据库,redis,框架 1.N I/O有什么核心组件 Java NIO 基本原理以及三大核心组件_java nio核心组件有哪些-CSDN博客 Buffer 缓冲 Channel 一对一 Channel 读取数据 Selector对应线程…...
redis面试(七)初识lua加锁脚本
redisson redisson如何来进行redis分布式锁实现的源码,基于redis实现各种各样的分布式锁的原理 https://redisson.org/ 这是官网 https://github.com/redisson/redisson/wiki/Table-of-Content 这是官方文档 开始 demo 建一个普通的工程在pom.xml里引入依赖 <…...
【mars3d】加载超图s3m模型说明
建议替换Cesium库,换成 超图版本Cesium mars3d mars3d-supermap ,需要引入的资源为: "mars3d": ["Cesium-supermap/Widgets/widgets.css", //超图版本Cesium "Cesium-supermap/Cesium.js","mars3d/plu…...
android音频录音,(三)MediaRecorder音频录音示例
1. apk触发录音启动或录音停止按键: public void onClick(View v) {switch (v.getId()) {case R.id.btn_Record: //启动录音startRecording();break;case R.id.btn_stop: //停止录音stopRecording();break;default:break;} }2. 创建MediaRecorder对象并初始化&…...
未授权访问漏洞(重点版─=≡Σ(((つ•̀ω•́)つ)
1.* Redis 搭建靶场环境: 进入目录:cd/vulhub-master/redis/4-unacc 启动:docker-compose up-d 检查:docker-compose ps vi docker-compose.yml //查看端口和版本号 安装redis工具 在kali上安装redis进行服务链接 #安装redis apt-get install redis #redi…...
数据中台之数据开发,数据开发概述与数据计算能力的类型
目录 一、数据开发概述 二、数据计算能力的类型 2.1 概述 2.2 批计算 2.2.1 概述 2.2.2 批计算模型 2.2.2.1 传统数据处理方案的问题 2.2.2.2 MapReduce模型 2.2.2.3 Spark框架 2.3 流计算 2.4 批流一体 2.5 在线查询 2.6 即席分析 一、数据开发概述 数据开发是数…...
免费的SD-WAN服务
SD-WAN,SASE,零信任是近年来比较火的概念,SD-WAN发展已经很久了,但是真正能够自主研发做SD-WAN的企业其实并不算太多。 比扬云的SD-WAN产品是自主研发的,可控性强,最重要的是具有免费版本,可以免…...
【C++】:错误处理机制 -- 异常
目录 前言一,C语言传统的处理错误的方式二,C异常的概念三,异常的使用3.1 异常的抛出和匹配原则3.2 在函数调用链中异常栈展开匹配原则3.3 异常的重新抛出3.4 异常规范 四,自定义异常体系五,异常的优缺点 点击跳转至文章…...
Cocos Creator2D游戏开发(10)-飞机大战(8)-计分和结束
现在游戏基本能完了, 飞机能发射子弹,打了敌机,敌机也能炸; 接下来要做计分了; 步骤: 搞出一个lable让lable显示炸了多少飞机 开搞: ①创建一个Lable标签 ② root.ts文件 添加 property(Label) player_score: Label; // 标签属性 标签绑定 ③ 代码添加 注册 然后回调 contac…...
image.convert()函数转换格式及显示图像的RGB三通道图像
引 言 视觉任务处理的图片按照图像通道深度分为单通道图像和多通道图像。单通道图像有grayscale灰度图、binary二值图、PNG图,多通道图像有三通道24位真彩色RGB图,8位伪彩色图像,YCbCr图像等。本文先介绍各种格式图像的特点,随后讲…...
进程学习
今天开始了进程的学习,主要讲了进程的一些命令以及进程的创建、进程的调度、进程相关的函数接口和进程消亡。在函数接口中要注意子进程和父进程的关系以及回收顺序,避免出现僵尸进程。...
【Rabbitmq的消息模型】
消息队列的特性 durable:队列持久化。如果设置持久化,那么无论RabbitMQ在关闭时,就会将队列存储到本地磁盘,无论宕机还是重启,队列也不会删除;如果设置不持久化,那么在RabbitMQ关闭时ÿ…...
The Ether: EvilScience (v1.0.1)打靶渗透【附代码】(权限提升)
靶机下载地址: https://www.vulnhub.com/entry/the-ether-evilscience-v101,212/ 1. 主机发现端口扫描目录扫描敏感信息获取 1.1. 主机发现 nmap -sn 192.168.7.0/24|grep -B 2 00:0C:29:7F:50:FB 1.2. 端口扫描 nmap -p- 192.168.7.172 1.3. 目录扫描 dirb http://192.16…...
java学习day18MyBatis2
MyBatis2 缺点 编写SQL语句工作量较大,对开发人员编写SQL语句的功底有一定的要求。 SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库 优点 MyBatis是免费且开源的。 与JDBC相比,减少了50%以上的代码量。 MyBat…...
算法巩固——旅行商问题
旅行商问题(Traveling Salesman Problem, TSP)简介 问题描述 旅行商问题是一个经典的组合优化问题,具体描述如下: 输入:一组城市及其两两之间的距离(或成本)。目标:找到一条从一个…...
ArcMap如何将shp数据导入oracle数据库
1. 连接数据库 2.在数据库中新建要素类 3.设置要素类名称和别名以及要素类型 4. 选择该要素类的坐标系 5.导入字段,点击导入,选择shp文件,点击添加,字段就导入进来了,点击完成 6. 点击刚才创建的要素类,点击…...
AppBoot:像 Django 一样使用 FastAPI
App Boot 开发 AppBoot 的背景是我一直没能寻找到满意的 FastAPI 项目模板。相比之下,Django 的项目结构和开发方式一直深得我心,因此我决定创建一个类似 Django 的 FastAPI 项目模板。 AppBoot 完全采用异步模式,内置 SQLAlchemy 2.0&…...
2024实验班选拔考试(热身赛)
比赛传送门 邀请码:2024wksyb A. 简单的数列问题 签到,记得开long long。 #include<bits/stdc.h> #define rep(i,a,b) for (int ia;i<b;i) #define per(i,a,b) for (int ia;i>b;--i) #define se second #define fi first #define endl …...
go语言的actor框架和air工具有什么区别?
Go语言的Actor框架和Air工具在多个方面存在显著的区别,主要体现在它们的设计目的、功能特性以及应用场景上。 ### Go语言的Actor框架 **设计目的与功能特性**: * **设计目的**:Actor框架是专为高并发和分布式系统设计的编程模型。它通过将系统…...
文件上传漏洞-HackBar使用
介绍 HackBar 是一个用于浏览器的扩展插件,主要用于进行网络渗透测试和安全评估。它提供了一系列方便的工具和功能,可以帮助用户执行各种网络攻击和测试,包括 XSS、SQL 注入、CSRF、路径穿越等 下载地址 可以到github上面去下载࿰…...
多层次算力网络;雾计算和边缘计算区别
目录 多层次算力网络 云计算 雾计算 边缘计算 海计算 相互协作 雾计算和边缘计算 一、概念与定义 二、目标与实现方式 三、应用场景 四、总结 多层次算力网络 涉及云计算、雾计算、边缘计算和海计算等技术之间的相互协作,这些技术各自具有不同的特点和覆盖范围,能…...
JavaDS —— 红黑树
前言 还是一样,这里的红黑树重点讲述插入代码的实现,如果对红黑树的删除感兴趣,可以去翻阅其他资料。 在数据结构专栏中已经对 AVL 树的旋转调整做了分析和讲解,这里红黑树也会使用到旋转调整的代码,就不讲述旋转代码…...
Python爬虫技术 第27节 API和RESTful服务
Python 爬虫技术是一种自动化获取网页内容的方法,通常用于数据收集、信息抽取或自动化测试。在讲解 Python 爬虫技术时,我们通常会涉及到以下几个关键概念: HTTP 请求:爬虫通过发送 HTTP 请求来获取网页内容,这是爬虫与…...
进程创建,进程消亡
虚拟地址:通过虚拟技术,将外部存储设备的一部分空间,划分给系统,作为在内存不足时临时用作数据缓存。当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。 练习: 编写一个代码实现,一个父…...
完美解决pip命令版本冲突导致对应版本模块包无法安装的问题
解决步骤 使用pip更新/降低指定模块包命令格式降低pip自身至指定版本的命令再次换源安装指定模块包 在对 FasterNet 这篇论文源码复现过程中,我们首先需要安装相关依赖文件( path/to/your/requirements.txt) -extra-index-url https://down…...
openssl 制作 信用库与服务证书
文章目录 前言openssl 制作 信用库与服务证书1. CA 证书2. 服务器证书/秘钥库3. 创建信用库4. 注意事项 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。 而且听说点赞的人每天的运气都不会…...
用Python打造精彩动画与视频,7.3 使用OpenCV在视频生成中的应用
第七章:高级视频和动画技术 7.3 使用OpenCV在视频生成中的应用 在本节中,我们将探索如何使用OpenCV进行一些基本的视频生成和增强技术。这些技术包括视频帧的叠加、视频剪辑、视频滤波等,通过这些技术可以提升视频的表现力。 7.3.1 素材准…...
记录一次Nacos安装启动异常的问题
今天在Linux中启动Nacos遇到了一个这样的错误: ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! !! 解决办法: 1:查看JAVA_HOME配置: vi /etc/profile 2ÿ…...
.NET C# Dictionary Hashtable
.NET C# Dictionary & Hashtable 文章目录 .NET C# Dictionary & Hashtable1 Dictionary1.1 底层实现1.2 优点1.3 缺点 2 Hashtable2.1 底层实现2.2 优点2.3 缺点 3 对比总结4 遍历方式,与耗时对比foreach遍历Keys遍历IDictionaryEnumerator遍历耗时对比 1 …...