geogebra
未读
在GeoGebra中,布尔值和条件判断是实现动态数学模型和交互式几何图形的重要工具。布尔值即逻辑值,只有两个可能取值:真(True)或假(False)。通过使用布尔值,我们可以创建依赖于特定条件的动态对象,例如根据用户输入的数值范围自动显示或隐藏某些图形元素。GeoGebra 提供了丰富的逻辑运算符,如等于、不等于、小于、大于等,使得条件判断和布尔运算变得简洁而高效。本文将详细介绍如何在GeoGebra中使用布尔值和条件判断,通过具体实例展示其在数学教学和研究中的实际应用。通过掌握这些技巧,您可以为学生和自己创建更加直观和交互的数学模型。
1.GeoGebra中的布尔值清单(最新)
操作符号
列表选择
键盘输入
例子
适于对象
等于
≟
==
a≟b 或 a==b
数值、点、直线、圆锥曲线a 和b
不等于
≠
!=
a≠b 或 a!=b
数值、点、直线、圆锥曲线a 和b
小于
<
<
a<b
数值a 和b
大于
>
>
a>b
数值a 和b
小于等于
≤
< ...
geogebra
未读
绘制函数图像,特别是速度慢一些的函数图像,开始的时候我有点儿不清除该如何去做,后来发现只需要运用一个指令即可,指令:SlowPlot,也就是常说的缓慢绘制指令,可以在输入栏中进行直接输入就可以
1缓慢绘制( <函数>, <是否重复? true|false> )
或者
1SlowPlot( <函数>, <是否重复? true|false> )
其中指令里面的布尔值判断,false只绘制一次,true绘制完又从头开始绘制。举个例子,动态绘制函数f(x)=x^2的图像,我们可以使用如下指令:
1缓慢绘制[x^2,false]
貌似中括号和小括号没有区别,例如
1缓慢绘制(x^2,false)
或者
1SlowPlot(x^2,false)
会得到如下的动态函数绘制效果,从演示来看,会默认通过滑动条(Slider)控制参数变化速度。
此法虽简单,但不足的是:不知滑动条a为何值时,才开始绘制函数,或许我们需要的动画效果是如下图的,解决办法也简单,先看效果:
这个动画效果也很方便的实现,我们画一个限定自变量取值范围的函数图 ...
manim
未读
在manim的丰富图形库中,圆形类是一个基础且强大的模块。 无论是简单的圆形绘制,还是复杂的圆形变换,它都能以简洁的代码实现。
manim中圆形类的相关模块主要有3个:
Circle:标准的圆形
Annulus:圆环形状
Ellipse:椭圆形状
其中,Annulus和Ellipse继承自Circle。
圆形系列处于manim中的Mobject之下。
1. 主要参数圆Circle对象的属性不多,主要有:
参数名称
类型
说明
radius
float
半径
color
str
颜色
stroke_width
float
边框厚度
fill_opacity
float
透明度
圆环Annulus对象的主要属性有:
参数名称
类型
说明
inner_radius
float
内圈半径
outer_radius
float
外圈半径
color
str
颜色
mark_paths_closed
bool
TODO
Annulus会渲染inner_radius和outer_radius之间的部分,也就是一个环。
椭圆El ...
manim
未读
今天我们来学习如何使用Manim实现漂亮的泡泡效果,本文将介绍如何使用Manim框架实现一个简单而实用的气泡特效,该特效可用于多种场景,如背景装饰、数据可视化过渡等。
1. 实现原理气泡特效的核心在于BubbleEffect类,它继承自 Manim 的 Animation 类,通过重写关键方法来实现气泡的上升、变大和透明度变化效果。在代码用需要先引入Python的库文件:
12from manim import *import random
1.1. 核心类结构BubbleEffect类的基本结构如下:
12345678910111213141516class BubbleEffect(Animation): """ 彩色气泡特效动画类 继承自Animation类,用于创建彩色气泡上升、变大、透明度变化的效果 """ def __init__( self, bubble_count=25, # 气泡数量 bubble_size_range=(0.1, ...
Manim 是一个强大的数学动画制作工具,它使得我们能够通过编程的方式创作复杂的数学动画。对于使用 Manim 的开发者来说,理解它的核心概念是非常重要的。Manim 中的三大核心对象是:Scene、Mobject 和 Animation。它们是构建任何动画的基础,掌握这些概念后,你可以更加得心应手地使用 Manim。
在本文中,我们将详细介绍这三大核心对象,并通过一些示例代码来帮助大家更好地理解它们的作用和关系。
1. Scene:场景的管理者在 Manim 中,Scene 是所有动画的容器,它负责管理和协调动画中所有对象的创建、显示以及动画效果的执行。每一个 Manim 动画都是在一个 Scene 类的子类中进行构建的。
1.1作用Scene 类定义了整个动画的结构和流程。你会在 Scene 类中设置动画的时间线,并通过调用 play() 来控制不同的动画效果。
1.2常用方法
construct():所有动画和对象的创建都在 construct() 方法中进行。你可以在这里创建图形对象、文本、动画等。
play():用于执行一个或多个动画。play() 方法会启动并渲染动画, ...
manim
未读
几何图形是manim中最重要的一类模块,manim内置了丰富的各类几何图形,本篇从最简单的点开始,逐个介绍manim中的几何模块。
manim中点相关的模块主要有3个:
Dot:通用的点
LabeledDot:在点的中间可以加一些说明文字
AnnotationDot:使用在注释场景中的点
Dot系列在manim各个模块中的位置大致如上图中所示。常用的使用代码如下
1Mobject = Dot(point=array([0., 0., 0.]), radius=0.08, stroke_width=0, fill_opacity=1.0, color=ManimColor('#FFFFFF'), 其他参数)
1. 主要参数点比较简单,所以参数不多,主要就是控制点的大小,颜色,透明度等等属性。 Dot对象:
参数名称
类型
说明
point
[float,float,float]
点的坐标
radius
float
点的半径
stroke_width
float
边框厚度
fill_opacity
float
透明度
color
...
今天我在互联网找到一个极为令我震惊的 Manim 演示效果,如果不是眼见为实的看到了实际效果,断然不敢相信这是真的,毕竟初中数学课本上没有讲过这个数学知识,同样是九年义务教育,别人怎么这么优秀。
1.引入库文件Manim 代码的实现,是通过 Python 的代码库,所以代码开始的时候,需要引入相关的函数库:
12from manim import * import numpy as np
2.引入相关场景12class RadialDotsAnimation(Scene): def construct(self):
3.定义小球数量1234# 小球数量num_dots = 48text_num_dots = Text(f"Number of Dots: {num_dots}").scale(0.5).to_corner(UL)self.play(Write(text_num_dots))
4.定义小球半径和颜色12345678910111213# 最大半径max_radius = 2# 小球颜色列表colors = [ RED ...
geogebra
未读
今天我们来学习如何在Geogebra中借助滑动条来平移图形。平移是初中几何数学中重要的图形操作,在Geogebra中平移图形,需要借助一个向量,然后通过更改向量与滑动条之间的关系,进而调控对图形的平移操作,下面我们来看演示过程。
1.创建平移对象我们在绘图区中使用绘图工具来绘制一个三角形,没有什么特殊的要求,只需要借助绘图工具来添加一个三角形就可以。
2.创建滑动条创建滑动条的方法比较简单,在工具栏中选择滑动条工具,鼠标点击就可以创建,
然后再点击绘图区,就可以创建一个滑动条
需要注意的是,滑动条的最大数值和最小数值需要做出调整,我这里最小值取0,避免平移的方向改变。最大值决定了图形平移的距离,也需要结合自己的需求。
3.创建向量同样是鼠标点击工具栏中的线段,在里面选择向量
同样是鼠标点击绘图区,就可以制作出自己需要的向量,向量的方向和大小没有关系,后期都可以调整,特别是向量的大小,我们需要结合滑动条来调控。
但是我们需要注意的是,创建的向量要注意起点和终点,我们需要的是滑动条与终点的结合。接下来,我们还需要对向量进行一下修改。
4.修改向量在代数区找到向量的终点点E,要看 ...
manim
未读
在Manim中,Elbow 是一个表示直角连接线的图形类,常用于示意图、流程图或需要显示垂直连接的情况。毋庸置疑的,这个形体直接继承自VMobject,也具有属性调控代码,下面我们来看具体的举例。
1.简单代码12345678from manim import *class ElbowExample(Scene): def construct(self): # 创建一个Elbow(默认角度为0,即向右上方) elbow = Elbow() self.play(Create(elbow)) self.wait()
这段代码就是创建一个简单的直角,属性都是默认的属性值,下面来看演示效果
2.属性介绍12345Elbow( width=0.2, # 每个臂的长度 angle=0, # 旋转角度(弧度) **kwargs # 其他VMobject参数)
从当前来看,Elbow仅仅是两个属性值,一个是宽度width,直角边长,另一个是角度angle,指的是旋转的角度。 ...
manim
未读
文本的样式主要指颜色和字体相关的属性设置。对于manim的两个文本对象 Text和 Tex来说, Text对象有更多的属性可以调整样式,相对来说,由于 Tex主要用来显示数学公式,所以关于样式的属性要少一些。下面介绍一些我在视频制作时最常用的一些颜色和字体相关的属性。
1. 颜色相关颜色设置主要分为单色,渐变色两种,对于 Text对象,manim还提供了更加精细的按字符设置的属性。
1.1 单色单色设置通过 color属性。
123456Text("hello world", color=RED)Text("你好,世界", color=YELLOW)Text("こんにちは世界", color=GREEN)Tex(r"$a^2 + b^2 = c^2$", color=RED)Tex(r"$E = mc^2$", color=YELLOW)Tex(r"$e^{i\pi} + 1 = 0$", color=GREEN)
运行效果:
1.2 渐变色 ...
manim
未读
在 Manim(数学动画引擎) 中,RoundedRectangle 是一个常用的形状类,用于创建带有圆角的矩形。今天我们来学习一下Manim中的圆角矩形,从简单的例子开始做测试,先来看下面的例子。
1.简单例子就是简单的创建一个蓝色的圆角矩形,里面涉及到了一些参数:
1234567891011121314from manim import *class RoundedRectangleExample(Scene): def construct(self): # 创建圆角矩形 rr = RoundedRectangle( corner_radius=0.5, # 圆角半径 width=4, # 宽度 height=2, # 高度 color=BLUE, fill_opacity=0.5 ) self.play(Create(rr)) self.wait()
来 ...
在使用 Hexo 博客程序的时候,总是避免不了给博客添加一个合理的分类和标签,今天我们就来看一看如何给 Hexo 博客添加分类和标签,当然了,我们给 Hexo 博客添加分类和标签,也是使用代码命令来创建的,先来看创建分类选项。
1.创建分类在 Hexo 创建分类页面的方法很简单,我们来看下面的过程
1.1创建指令我们在博客所在的文件夹打开命令行,然后在里面执行以下命令:
1hexo new page categories
成功之后会给出相对应的提示
1INFO Created: ~/Documents/blog/source/categories/index.md
当然,因为路径的问题,代码提示中INFO Created:的提示路径也不会相同,但是后面的
1/source/categories/index.md
代码内容是相同的,当然了,如果你已经创建过分类页面,会出现
1/source/categories/index-1.md
的信息提示,然后我们进入路径文件,找到里面的index.md文件,打开后默认内容是这样的
1234---title: 文章分类date: 20 ...
manim
未读
在代数问题中,矩阵是必不可少的工具,manim中提供了一套展示矩阵(Matrix)的模块, 专门用于在动画中显示矩阵格式的数据。关于矩阵的类主要有4个:
Matrix:通用的矩阵
IntegerMatrix:元素是整数的矩阵
DecimalMatrix:元素包含小数的矩阵
MobjectMatrix:元素可以是图形的矩阵
其实IntegerMatrix,DecimalMatrix,MobjectMatrix都是继承自Matrix的,只要掌握了Matrix即可,其他几个不过是Matrix的特殊情况。
1. 主要参数参数基本都是为了控制矩阵的显示样式。
参数名称
类型
说明
matrix
str
一个二维数组,也就是矩阵的数值
v_buff
float
矩阵元素的行间距
h_buff
float
矩阵元素的列间距
bracket_h_buff
float
矩阵括弧和元素之间的距离
bracket_v_buff
float
矩阵括弧的高度
add_background_rectangles_to_entries
bool
是否给矩阵元素加一个矩形背 ...
manim
未读表格是一种常见的数据展示形式,manim提供了Table模块专门用于显示表格形式的数据。表格Table和上一节介绍的矩阵Matrix都是用来显示二维数据的,不过,Table的表现力更强,比如,它可以显示表头信息,列名信息等等。
Table模块也细分了多个对象:
通用Table:显示任何内容
DecimalTable:表格内容为数字
IntegerTable:表格内容为整数
MathTable:表格内容是公式
MobjectTable:表格内容是图形
其中,DecimalTable,IntegerTable,MathTable和MobjectTable都是继承自Table的。 本篇重点介绍Table对象,其他对象是Table的一个特例。
1. 主要参数主要参数包括:
参数名称
类型
说明
table
list[list]
表格中显示的数据
row_labels
list[VMobject]
行标签,相当于表格的第一列
col_labels
list[VMobject]
列标签,相当于列名,表格的第一行
top_left_entry
VMobject
表格左上角 ...






