自己动手做一个数学函数作图器
函数的图像自制
![函数的图像自制](https://img.taocdn.com/s3/m/5e4f13b6b0717fd5360cdccd.png)
y x 1,x 2,3,x 2,3,
03 04
二次函数图象的作法
y x - 5x 6
2
分式函数图象的作法
x 1 y x-2
05
分段函数图象的作法
- x,x 0 y 2 x ,x 0
06
(1)
带绝对值的函数图象的作法 (2) .y
.y x
函数的图像
各种图像的画法
注意:描点法作图,是做图像的万能方法, 但是!缺点是浪费时间! 下面看具体几类图像的作法:
01
02
y 5x,x 1,2,3,4,5
一次函数图象的作法
y x 1 y 2 - 3x y x-4
x 2,3,x 2,3 x 2,3 4,5
(1).作出函数 y 3 - 4x,x
-1, 3 的图像?
(2).作出函数y -x2 - 4x 6,x
- 3,1的
图像;并求值域?
由图观察得函数的值域 为y1 y 10 .
|x| (3).(2013 ~ 2014· 潍坊高一检测 )y = x + 的图象是图中的 x ( )
2 由图可知 y= (-2≤x≤1,且 x≠0)的值域为(-∞,-1] x ∪[2,+∞).
请在这里输入您的标题
01 02
输入标题
请在此处输入您的文本 请在此处输入您的文本
输入标题
请在此处输入您的文本
请在此处输入您的文本
输入标题
请在此处输入您的文本 请在此处输入您的文本
03
答案:选c
(4).作出下列函数的图象,并指出其值域. ①y=x2+x(-1≤x≤1). 2 ②y= (-2≤x≤1,且 x≠0).法可以作出函数的图象如图. 由图可知 y=x
常见函数图像作图
![常见函数图像作图](https://img.taocdn.com/s3/m/8571dcdecf2f0066f5335a8102d276a20029602b.png)
(2)
(1)解 : f ( 3 ) 2 3 8 5, 22
f (1 ) 1 5,
f (1) 1 3 5 2,
f f (2) f (1) 2.
现在您正浏览在第17页,共44页。
学习案
2.作出下列函数的图象
(1)yx2(x Z,且 x2)
现在您正浏览在第18页,共44页。
5.函数的图象 对于函数的图象要会作图、识图、用图. 作函数图象有两种基本方法:一是描点法,二是图象变换法, 其中图象变换有平移变换、伸缩变换、对称变换.
重要结论:(1)若函数 y=f(x)满足 f(a+x)=f(a-x),即 f(x) =f(2a-x),则 f(x)的图象关于直线 x=a 对称. (2)若 f(x)满足 f(a+x)=f(b-x),则函数 f(x)的图象关于直线 x=a+2 b对称. (3)若函数 y=f(x)满足 f(x)=2b-f(2a-x),则该函数图象关 于点(a,b)成中心对称.
常见函数图像作图
现在您正浏览在第1页,共44页。
例2、旅行社为某旅游团包飞机去旅游,
其中旅行社的包机费为15000元,旅游
团中的每人的飞机票按以下方式与旅行社
结算:若旅游团的人数在30人或30人以 下,飞机票每张收费900元;若旅游 团的人数多于30人,则给与优惠,每
多1人,机票费每张减少10元,但旅游团
法一: 规律:在 x=1的右边看图象,图象越高
底数越小. 即图高底小 y
y loga1 x
01
y loag2 x
y loga3 x
x
y loag4 x
y loga5 x y loga6 x
法2:做直线y=1,观察与各图像交点横坐标即可知道底数大小。
用几何画板做动态函数图像的步骤
![用几何画板做动态函数图像的步骤](https://img.taocdn.com/s3/m/829d2ded0029bd64783e2c9b.png)
用几何画板做动态函数图像的步骤一、两点说明:1.本文适用软件为几何画板3.05板本。
2.如果需要选择两个以上对象,用选择工具时要同时按住SHIFT键。
3.如果没有特别说明,单击、双击都是指用鼠标左键。
4.单击、双击后面的词如无特别说明都是指菜单及菜单中的内容,文中省去了引号。
二、几个函数图象的作法1.正比例函数(1)作可变系数k:①单击图表中的建立坐标系,屏幕上出现平面直角坐标系;②选择x轴(用选择工具单击x轴)后单击作图中的对象上的点,此时x轴上出现一个点并且是被选择状态;③同时选择x轴和x轴上的这个点后单击作图中的垂线,屏幕上出现x轴的一条垂线;④选择这条垂线后单击作图中的对象上的点,选择这个点后单击度量中的坐标,屏幕上出现了这个点的坐标,双击这个点的坐标(或者单击度量菜单中的计算)后屏幕上出现了一个计算器,单击计算器上的数值中的点Y,计算器的屏幕上出现这个点的纵坐标,单击计算器上的确定后屏幕上出现了这个点的纵坐标;⑤用文本工具双击上面所得的纵坐标弹出度量值格式对话框,点文本格式后从键盘上输入k,单击确定后屏幕上点的纵坐标变为k=…,用选择工具拖动x轴垂线的上点可以看到k值的变化。
(2)计算函数值:①选择x轴后单击作图中的对象上的点作出x轴上的一个动点,选择这个点后单击度量中的坐标,屏幕上出现这个点的坐标,双击这个坐标弹出计算器,单击计算器上的数值中的点x,单击计算器上的确定,屏幕上出现这个点的横坐标,用(1)⑤的方法把它改为x=…;②用选择工具双击屏幕上的纵坐标(或者单击度量菜单中的计算)后屏幕上出现了一个计算器,依次单击屏幕上的k=…(省略号是数值),计算器上的乘号,电脑屏幕上的x=…后屏幕上出现kx=…。
(3)描点作图:①依次选择屏幕上的x=…,kx=…,单击图表菜单中的P绘出(x,y),屏幕上出现以x 为横坐标,以kx为纵坐标的点;②同时选择这个点和x轴上与它对应的点,单击显示菜单中的追踪点,单击作图中的轨迹,屏幕上出现了函数的图象。
初中数学自制教具实例
![初中数学自制教具实例](https://img.taocdn.com/s3/m/7bb04a1259fb770bf78a6529647d27284a733764.png)
初中数学自制教具实例作为数学教学的重要手段,教具能够帮助学生更好地理解和掌握知识。
下面介绍几种我自制的中学数学教具,既节省成本,又有趣味性,能够切实提高学生的学习兴趣和效果。
1、三角板自制材料:厚纸板,直尺,剪刀,胶水。
制作方法:将厚纸板按照比例切成两个小三角形和一个直角三角形,用直尺固定大小,然后分别在小三角板上绘制正弦、余弦和正切函数,用直角三角形来辅助学生理解三角函数的定义和性质。
使用方法:学生可以通过观察三角板,感性理解三角函数的变化规律,并在板上练习绘制三角函数图像,十分便捷实用。
2、数轴积木自制材料:木板,手锯,数锤,锉刀,砂纸,直尺,钻孔机,铁柱,木橡胶垫。
制作方法:将木板按比例锯成数轴小方块,在方块中间分别钻两个小眼,插入铁柱固定,最后在底部贴上木橡胶垫,避免滑动。
使用方法:学生可以通过组装数轴积木来学习实数的性质和真分数、带分数、整数等的位置关系,理解数轴的区间划分和表示方法。
学生可以通过搭建不同大小和数值的积木来练习实际计算。
3、幂函数模型自制材料:纸板,胶水,羽毛球,直尺,剪刀,颜料,画笔,墨水笔。
制作方法:将纸板按比例切成一张长方形模板,用颜料和画笔绘制好幂函数图像,将羽毛球戳成五个小洞,然后将模板用胶水固定在羽毛球上,最后在模板上加上函数表达式和注释。
使用方法:学生可以借助幂函数模型,感性理解幂函数的定义和特点,体会参数变化的影响,通过水平、垂直移动和旋转模型,学生可以掌握幂函数的平移、缩放和翻转等变换规律。
同时,学生还可以用墨水笔在模型上进行实时修改和笔记。
通过以上三种自制教具的设计和制作,可以更具体和生动地帮助学生理解和掌握数学知识,加强学习乐趣,提高学生对于数学的兴趣和信心,从而取得更好的学习成果。
初二数学函数图像的描绘方法
![初二数学函数图像的描绘方法](https://img.taocdn.com/s3/m/df967d23c381e53a580216fc700abb68a882ad57.png)
初二数学函数图像的描绘方法函数图像的描绘是初中数学课程中的重要内容之一,通过图像的描绘可以更直观地理解函数的性质和变化规律。
本文将介绍初二数学中常用的两种函数图像描绘方法:手工描绘和利用计算机软件描绘。
一、手工描绘函数图像手工描绘函数图像是一种基础的方法,只需用简单的工具如纸和铅笔即可完成。
以下是描绘函数图像的步骤:1. 根据函数表达式确定图像的定义域和值域。
比如对于函数y = f(x),我们需要确定x的取值范围,并通过函数表达式计算出对应的y值。
2. 利用坐标轴绘制准备工作。
准备一张纸,并在纸上绘制x轴和y轴。
根据定义域和值域的范围,在坐标轴上标出合适的刻度。
3. 确定函数的关键点。
根据函数的特点,找到一些关键点,如函数的零点、最大值、最小值等。
将这些关键点标在坐标轴上。
4. 连接关键点,描绘函数图像。
根据标出的关键点,用平滑的曲线将这些点连接起来,描绘出函数的图像。
5. 检查和修改。
检查已描绘的图像是否满足函数的性质,如单调性、奇偶性等。
如果需要,可以对图像进行修改和调整。
手工描绘函数图像的方法虽然简单,但对于初学者来说需要一定的练习和观察力。
它有助于加深对函数性质和变化规律的理解。
二、利用计算机软件描绘函数图像随着计算机技术的发展,利用计算机软件描绘函数图像已成为一种高效准确的方法。
以下是利用计算机软件描绘函数图像的步骤:1. 选择适当的函数图像绘制软件。
市面上有多种绘制函数图像的软件,如GeoGebra、Desmos等。
根据个人的需求和操作习惯选择合适的软件。
2. 打开软件并创建坐标系。
在软件中创建一个坐标系,设置x轴和y轴的范围和刻度。
3. 输入函数表达式。
输入函数的表达式,确保函数表达式无误。
4. 绘制函数图像。
软件会自动绘制函数的图像,显示在坐标系中。
可以通过调整函数的参数、颜色、线型等进行个性化设置。
5. 导出和保存。
可以将绘制好的函数图像导出为图片或保存为文件,方便在其他文档中使用或分享给他人。
如何用几何画板画出函数图象
![如何用几何画板画出函数图象](https://img.taocdn.com/s3/m/ef87b0cf80eb6294dd886cb7.png)
如何用几何画板画出函数图象在解析几何中,抛物线是平面内到定点和到定直线的距离相等的动点的轨迹,我们可通过尺规作图在平面内很容易找到这样的点,在用几何画板的轨迹工具就可画出抛物线。
1、新建一个绘图,选择菜单里的“图表”,鼠标单击“建立坐标轴”。
2、选择X轴,右击鼠标显示快捷菜单,选择作图,对象上的点;确保该点处在被选中状态,选择工具栏里的“标出文本&标签”工具,鼠标单击刚画出的点,将显示出该点的“标签”(假设为“M”)。
选择工具栏里的“选择&平移”工具,鼠标单击M点,按住Shift键,鼠标单击X轴,右击鼠标显示快捷菜单,选择作图,作垂线。
准线作好了。
3、选择X轴,右击鼠标显示快捷菜单,选择作图,对象上的点;确保该点处在被选中状态,选择工具栏里的“标出文本&标签”工具,鼠标单击刚画出的点,将显示出该点的“标签”(假设为“F”)。
点F为抛物线的焦点。
4、选择垂线,右击鼠标显示快捷菜单,选择作图,对象上的点。
确保该点处在被选中状态,选择工具栏里的“标出文本&标签”工具,鼠标单击刚画出的点,将显示出该点的“标签”(假设为“N”)。
选择点N,按住Shift键,鼠标单击直线。
右击鼠标显示快捷菜单,选择作图,作垂线。
选择点N和点F,右击鼠标显示快捷菜单,选择作图,线段NF,选择线段NF,右击鼠标显示快捷菜单,选择作图,中点A。
选择点A和线段NF,右击鼠标显示快捷菜单,选择作图,垂线。
选择直线和直线,右击鼠标显示快捷菜单,选择作图,交点。
鼠标单击刚画出的点,将显示出该点的“标签”(假设为“P”)。
5、选择点N和点P,右击鼠标显示快捷菜单,选择作图,轨迹。
抛物线作好了,可适当调整准线和焦点F的位置,则可以得到不同的抛物线。
在几何画板中通过作图可以对函数的代数形式和几何特征都可得到实质性的了解。
既可增加学生学习兴趣,又可更深刻地了解函数的实质。
实例1 二次函数图像的制作
![实例1 二次函数图像的制作](https://img.taocdn.com/s3/m/77dccd1e6f1aff00bfd51e96.png)
新课标数学几何画板课件制作实例教程新课标数学几何画板课件制作实例教程实例1二次函数的图像朱俊杰二次函数是中学数学的重点,也是一个难点,要学好二次函数,很多老师都利用数形结合法来讲解,下面我们就学习一下如何利用几何画板制作二次函数图像【设计要点】建立坐标系,在x轴上任画3点A、B、C,过点A、B、C构造x轴的垂线j、k、l,在直线j上任画一点a,在直线k上任画一点b,在直线l上任画一点c,分别度量出点a、b、c的纵坐标,以这3个点的纵坐标为系数,构造出函数f(x)=a⋅x2+b⋅x+c,然后构造出这个函数的图像,即完成课件的制作。
【操作步骤】(1) 运行几何画板软件,新建一个几何画板文件。
(2) 选择“图表”→“定义坐标系”菜单命令,定义一个新坐标系。
选择“图表”→“隐藏网格”菜单命令,将画板上的网格隐藏。
(3) 选择“画点”工具,在x轴负半轴上任画3点A、B、C。
同时选中点A、B、C和x轴,选择“作图”→“垂线”菜单命令,过点A、B、C构造出x轴的垂线j、k、l。
(4) 选择“画点”工具,分别在直线j上画一点D,利用“文本”工具,将点D的标签改为a,在直线k上任画一点E,并将点E的标签改为b,在直线l上任画一点F,并将点F的标签改为c。
(5) 同时选中点a、b、c,选择“度量”→“纵坐标”菜单命令,度量出点a、点b、c的纵坐标,利用“文本”工具,将三个表达式标签改为a、b、c。
(6) 同时选中a=**、b=**、c=**,选择“图表”→“绘制新函数”菜单命令,打开“新建函数”对话框,依次单击“a=**”→“”→“”→“”→“”→“”→“b=**”→“”→“”→“”→“c=**”按钮,单击“确定”按钮,绘制出函数f(x)=a⋅x2+b⋅x+c的图像,如图1所示。
1新课标数学几何画板课件制作实例教程2 图1(7) 同时选中直线j、k、l,选择“显示”→“隐藏垂线”菜单命令,将这3条直线隐藏。
(8)拖动课件中的点a、点b、点c,可改变二次函数的系数,从而达到改变函数图像的效果。
几何画板作二次函数的图像
![几何画板作二次函数的图像](https://img.taocdn.com/s3/m/1e7dbf675901020206409c01.png)
如何用几何画板作二次函数图像几何画板作为数学方面的得力工具,首先体现在各种函数图的制作上,下面我们以二次函数图为例,讲一讲几何画板的使用。
具体步骤:1.新建一个绘图,选择菜单栏里的“图表”,鼠标单击“建立坐标轴”。
2.选择工具栏里的“画点”工具,鼠标指针变成十字形,在坐标轴的横轴上点击一下,画出一个点,确保该点处在被选中状态,选择工具栏里的“标出文本&标签”工具,鼠标单击刚画出的点,将显示出该点的“标签”(假设为“C”)。
确保C点处于被选中状态,选择菜单栏里的“度量”,鼠标单击“坐标”,得到C点的坐标。
3.选择工具栏里的“选择&平移”工具,鼠标单击C点的坐标,使它处于被选中状态,再选择菜单栏里的“度量”,鼠标单击“计算…”,出现“计算器”窗口,用鼠标单击“数值”按钮,把鼠标放在“点C”上,选择x,然后用鼠标单击“计算器”窗口里“确定”按钮,这样我们就得到了C点的横坐标的度量值。
如果用鼠标拖动点C 的话,你会发现它的横坐标的度量值在随之变化。
4.下面我们把界面稍微整理一下,用鼠标单击C点的坐标,使它处于被选中状态,然后同时按下Ctrl和H键,把C点的坐标隐藏掉。
再选择工具栏里的“标出文本&标签”工具,用鼠标双击C点横坐标的度量值,在出现的“度量值格式”窗口里选择“文本格式”,出现两个文本框,将左面文本框内的“X[C]=”改成“x=”,按下“度量值格式”窗口里的“确定”按钮。
经过上面的工作,我们已经把二次函数的自变量构造出来了,下面我们再来构造二次函数的系数a、b、c。
系数a、b、c的构造过程是完全一样的,故我们只详细介绍系数a的构造过程。
5.选择工具栏里的“画点”工具,在坐标轴的横轴上画一个点,选择工具栏里的“标出文本&标签”工具,鼠标单击刚画出的点,将显示出该点的“标签”(假设为“D”)。
然后选择工具栏里的“选择&平移”按钮,按住Shift键,鼠标单击坐标轴的横轴,使D点和坐标轴的横轴同时处于选中状态(如果要选择多个对象,要先按住Shift 键,再用鼠标进行选择。
javascript自制函数图像生成器
![javascript自制函数图像生成器](https://img.taocdn.com/s3/m/0fb7af53326c1eb91a37f111f18583d049640f84.png)
javascript⾃制函数图像⽣成器 出于某种⽬的想做这个东西,顺便可以提供给GMA的⽤户&&放在博客园。
实现上只是简单的描点,加上⼀个相邻两点连线的开关,完全没有技术含量。
⽽且函数图像⼀旦多起来就会变卡。
瓶颈在隐函数的绘制,这个超烦,计算量⼀下⼦就上去了。
我的做法是把画布格成很多个60*60的⼩⽅格,先扫⼀遍⽅格边框上有没有零点,有就进这个⽅格绘图,没有就不管它了。
绘图的部分也牺牲了精度换取速度,当然相关参数都还给⽤户⾃⼰调。
结果还是挺慢的,但还可以接受啦。
效果还⾏ 接下来打算兹兹⼀下js语句做函数表达式,然后再加上⼀维时间(动态图)。
三维空间的话估计等我读了⼤学才能来做了……空间⼏何完全不⾏啊T_T 诸位聚聚如果有什么更好的函数渲染算法给点点建议啊……<?phprequire_once("style.php");><style>[UnSelect=YES]{-webkit-touch-callout: none; /* iOS Safari */-webkit-user-select: none; /* Chrome/Safari/Opera */-khtml-user-select: none; /* Konqueror */-moz-user-select: none; /* Firefox */-ms-user-select: none; /* Internet Explorer/Edge */}#mask{width:100%;height:100%;background:#000;opacity:0.5;position:fixed;top:0;left: 0;z-index: 100;display:none;}.notes{color:#FFFFFF;font-weight:800;font-size:20px;}</style><body><div id="mask"></div><div id="control" class="ui inverted segment" style="background-color:black;position:fixed;margin:auto;left:0;right:0;top:0;bottom:0;z-index:101;width:600px;height:500px;overflow:auto;display:none;"> <div id="function"><button class="ui green button" onclick="Add()">Add function</button><span class="ui divider"></span><span id="mod" style="display:none" name="0"><select class="ui dropdown" style="border-radius:5px;" onchange="FunctionChange(this)"><option value="0">Cartesian</option><option value="1">Polar</option><option value="2">Implicit</option><option value="3">Parameter</option></select><input type="color" style="width:20px;height:20px;border-radius:5px;"/><span style="display:inline"><span class="notes">y=</span><span class="ui input" name="Fun"><input/></span><span class="notes"></span><span class="ui input" style="display:none"><input/></span></span><button class="ui red button" onclick="Delete(this.parentNode)">Delete</button><span class="ui checkbox"><input type="checkbox" onclick="DrawLine(this.parentNode)"/><label style="color:white;">Draw Line</label></span><span style="display:none;margin-top:6px;font-size:80%;"><span class="notes"></span><span class="ui input" style="width:50px;"><input/></span><span class="notes"></span><span class="ui input" style="width:50px;"><input/></span><span class="notes"></span><span class="ui input" style="width:50px;"><input/></span></span><span class="ui divider" style="height:40px"></span></span></div><div class="title" UnSelect="YES" onclick="ShowOption(this)" style="color:white;cursor:pointer;font-size:17px;line-height:35px;font-weight:bold;"><i class="Caret Right icon"></i>Advanced Options <div id="option" UnSelect="YES" style="color:white;font-size:50%;font-family: Consolas,Monaco,monospace;display:none;transition:2s;line-height:30px;"><span class="notes">X:</span><span class="ui input"><input id="FunLx" style="width:180px;"/></span><span class="notes">~</span><span class="ui input"><input id="FunRx" style="width:180px;"/></span><br><span class="notes">Y:</span><span class="ui input"><input id="FunLy" style="width:180px;"/></span><span class="notes">~</span><span class="ui input"><input id="FunRy" style="width:180px;"/></span><br><span class="notes">Coordinate:</span><span class="ui input"><input id="FontStyle" style="width:200px;" value=""/></span><br><span class="ui checkbox"><input type="checkbox" id="sizelimit" checked="1"/><label style="color:white;">Size Limit</label></span><br><span class="notes">PointRadii:</span><span class="ui input"><input id="PointRadii" style="width:50px;" value="1"/></span><br><span class="notes">Scale:</span><span class="ui input"><input id="Scale" style="width:50px;" value="0.9"/></span><br><span class="ui checkbox"><input type="checkbox" id="DrawMoving" checked=1/><br><span class="notes" id="size"></span></div><span class="ui divider"></span><button class="ui blue button" onclick="change()">Draw</button></div><div id="main"><h1 class="ui header" UnSelect="YES" style=""><i class="book icon"></i><div class="content">Tools</div></h1><h1 align="center" UnSelect="YES">函数图像绘制⼯具</h1><div align="center" style="width:100%;height:70%;"><canvas id="graph"></canvas></div><div UnSelect="YES"><button class="ui green button" onclick="mask()">Control</button><button class="ui green button" onclick="redraw()">Reflash</button><!--<p id="map"></p>--></div><script>function $(id) {return document.getElementById(id);}function getRandomColor(){return '#'+('00000'+(Math.random()*0x1000000<<0).toString(16)).substr(-6);}function ischar(c){return (c>='a'&&c<='z')||(c>='A'&&c<='Z');}function isdigit(c){return c>='0'&&c<='9';}function ChangeToPointX(x){return parseInt((x-FunLx)/(FunRx-FunLx)*FunW);}function ChangeToPointY(y){return FunH-1-parseInt((y-FunLy)/(FunRy-FunLy)*FunH);}function priority(c){switch(c){case '(':{return 0;break;}case '+':{return 1;break;}case '-':{return 1;break;}case '*':{return 2;break;}case '/':{return 2;break;}case '^':{return 3;break;}default:{return -1;break;}}}function isopt(c){return priority(c)!=-1;}function SingleCalc(c,a,b){if (c=='+') return a+b;elseif (c=='-') return a-b;elseif (c=='*') return a*b;elseif (c=='/') return a/b;elseif (c=='^') return Math.pow(a,b);elsereturn NaN}function FunWork(f,x){switch(f){case "":{return x;break;}case "SIN":{return Math.sin(x);break;}case "COS":{return Math.cos(x);break;}case "TAN":{return Math.tan(x);break;}case "ABS":{return Math.abs(x);break;}case "SQRT":{return Math.sqrt(x);break;}case "LN":{return Math.log(x);break;}case "LOG":{return Math.log(x)/Math.LN2;break;}//2为底case "LG":{return Math.log(x)/Math.LN10;break;}//10为底case "FLOOR":{return Math.floor(x);break;}case "CEIL":{return Math.ceil(x);break;}case "INT":{return parseInt(x);break;}default:{return NaN;break;}}}function FunInit(F){F=F.replace(/sin/g,"SIN");F=F.replace(/cos/g,"COS");F=F.replace(/tan/g,"TAN");F=F.replace(/abs/g,"ABS");F=F.replace(/sqrt/g,"SQRT");F=F.replace(/ln/g,"LN");F=F.replace(/log/g,"LOG");F=F.replace(/lg/g,"LG");F=F.replace(/floor/g,"FLOOR");F=F.replace(/ceil/g,"CEIL");F=F.replace(/int/g,"INT");return F;}var ca=$("graph"),el=ca.getContext("2d"),fun=$("function"),eps=1e-12;var FunW=ca.parentNode.clientWidth,FunH=ca.parentNode.clientHeight,FunLx=-FunW/100,FunRx=FunW/100,FunLy=-FunH/100,FunRy=FunH/100,PR,tableX,tableY,tmp,countX,countY,Funstage var dir=[[0,1],[1,0],[0,-1],[-1,0],[1,1],[1,-1],[-1,1],[-1,-1]];var FontStyle="bold 12px Georgia";ca.width=FunW;ca.height=FunH;$("size").innerHTML="Size:"+FunW+"*"+FunH;function Calc(fun,X,Value){var number=new Array(),opt=new Array(),F=new Array(),now=0,f="",tmp,a,b,sign=1,base=0,j;for (var i=0;i<fun.length;i++){for (j=0;j<X.length;j++)if (X[j]==fun[i]){if (i==0||isopt(fun[i-1])) now=Value[j];else now*=Value[j];break;}if (j==X.length)if (fun[i]=='(') F.push(f),f="",opt.push('(');elseif (fun[i]==')'){number.push(now*sign);now=0;sign=1;base=0;while ((tmp=opt.pop())!='('){b=number.pop();a=number.pop();tmp=SingleCalc(tmp,a,b);now=FunWork(F.pop(),number.pop());}elseif (fun[i]=='.') base=1;elseif (fun[i]=='+'&&(i==0||priority(fun[i-1])!=-1));elseif (fun[i]=='-'&&(i==0||priority(fun[i-1])!=-1)) sign=-1;elseif (fun[i]=='e') if (i==0||isopt(fun[i-1])) now=Math.E;else now*=Math.E;elseif (fun[i]=='p'&&fun[i+1]=='i'){if (i==0||isopt(fun[i-1])) now=Math.PI;else now*=Math.PI;i+=1;}elseif (isdigit(fun[i])) if (base==0) now=now*10+(fun[i]-'0');else base/=10,now+=base*(fun[i]-'0');elseif (ischar(fun[i])) f+=fun[i];else if (isopt(fun[i])){number.push(now*sign);now=0;sign=1;base=0;var s=priority(fun[i]);if (s==-1) return 0;while (s<=priority(opt[opt.length-1])){b=number.pop();a=number.pop();tmp=SingleCalc(opt.pop(),a,b);number.push(tmp);}opt.push(fun[i]);}}number.push(now*sign);while (opt.length>0){b=number.pop();a=number.pop();tmp=SingleCalc(opt.pop(),a,b);number.push(tmp);}return number.pop();}function drawarc(x,y,R){el.beginPath();el.arc(x,y,R,0,Math.PI*2);el.closePath();el.fill();}function drawline(lx,ly,px,py){el.beginPath();el.moveTo(lx,ly);el.lineTo(px,py);el.closePath();el.stroke();}function gettable(){tmp=(FunRx-FunLx+eps)/20;tableX=1;countX=0;countY=0;while(tableX<tmp) tableX*=10;while(tableX/10>tmp) tableX/=10,countX++;if (tableX>=1) countX=0;if (tableX/5>tmp) tableX/=5,countX++;else if (tableX/2>tmp) tableX/=2,countX++;for (var i=parseInt(FunLx/tableX)+(FunLx>0);i*tableX<FunRx;i++){el.fillStyle=i==0?"#000000":"#CDB7B5";tmp=(i*tableX-FunLx)/(FunRx-FunLx)*FunW;el.fillRect(tmp,0,1,FunH);el.fillStyle="#000000";el.font=FontStyle;el.fillText((i*tableX).toFixed(countX),tmp+2,10);}tmp=(FunRy-FunLy+eps)/20;tableY=1;while(tableY<tmp) tableY*=10;while(tableY/10>tmp) tableY/=10,countY++;if (tableY/5>tmp) tableY/=5,countY++;else if (tableY/2>tmp) tableY/=2,countY++;if (tableY>=1) countY=0;for (var i=parseInt(FunLy/tableY)+(FunLy>0);i*tableY<FunRy;i++){el.fillStyle=i==0?"#000000":"#CDB7B5";tmp=(i*tableY-FunLy)/(FunRy-FunLy)*FunH;el.fillRect(0,FunH-1-tmp,FunW,1);el.fillStyle="#000000";el.font=FontStyle;el.fillText((i*tableY).toFixed(countY),0,FunH-1-tmp);}//$("map").innerHTML=tableX+" "+tableY;}function PCalc(i,j){return Calc(FUN,['x','y'],[FunLx+(FunRx-FunLx)/FunW*i,FunRy-(FunRy-FunLy)/FunH*j]);}function ImpDraw(x,y,X,Y,jump){if (x+X>FunW) X=FunW-x;if (y+Y>FunH) Y=FunH-y;var Imp=new Array(),tmp;if (X>jump)X/=jump;if (Y>jump)Y/=jump;for (var i=-1;i<=X;i+=1){Imp[i+1]=new Array();for (var j=-1;j<=Y;j+=1) Imp[i+1].push(PCalc(i*jump+x,j*jump+y));}for (var i=0;i<X;i+=1)for (var j=0;j<Y;j+=1)for (var k=0;k<4;k++)if (Imp[i+1][j+1]*Imp[i+1+dir[k][0]][j+1+dir[k][1]]<0) {drawarc(i*jump+x,j*jump+y,PR);break;}}function getfunction(){var group=document.getElementsByName("Fun"),x,y,R,lax,lay,px,py,color,OutSide,type,ValueL,ValueR,ValueS,DLc,tmp,TMP; PR=$("PointRadii").value;for (var k=1;k<group.length;k++){var gf=group[k].parentNode.parentNode;OutSide=1;type=gf.children[0].value;DLc=gf.children[4].children[0].checked;FUN=FunInit((group[k].children[0].value).toLowerCase());color=gf.children[1].value;el.fillStyle=el.strokeStyle=color;switch (type){for (var i=0;i<FunW;i++){x=FunLx+(FunRx-FunLx)/FunW*i;y=Calc(FUN,['x'],[x]);if (isNaN(y)) continue;px=i;py=ChangeToPointY(y);if (y>=FunLy&&y<FunRy){drawarc(px,py,PR);if (DLc) drawline(lax,lay,px,py);OutSide=0;}else{if (DLc) if (!OutSide) drawline(lax,lay,px,py);OutSide=1;}lax=px;lay=py;}break;}case '1':{ValueL=Calc(gf.children[5].children[1].children[0].value,[],[]);ValueR=Calc(gf.children[5].children[3].children[0].value,[],[]);ValueS=Calc(gf.children[5].children[5].children[0].value,[],[]);for (var i=ValueL;i<ValueR+ValueS-eps;i+=ValueS){if (i>ValueR) i=ValueR;R=Calc(FUN,['t'],[i]);x=R*Math.cos(i);y=R*Math.sin(i);px=ChangeToPointX(x);py=ChangeToPointY(y);if (FunLx<=x&&x<FunRx&&FunLy<=y&&y<FunRy){drawarc(px,py,PR);if (DLc) drawline(lax,lay,px,py);OutSide=0;}else{if (DLc) if (!OutSide) drawline(lax,lay,px,py);OutSide=1;}lax=px;lay=py;}break;}case '2':{var SpaceW=Calc(gf.children[5].children[1].children[0].value,[],[]),SpaceH=Calc(gf.children[5].children[3].children[0].value,[],[]),jump=Calc(gf.children[5].children[5].children[0].value,[],[]),Imp=new Array();for (var i=0;i*SpaceW<FunW;i+=1){Imp[i]=new Array();for (var j=0;j*SpaceH<FunH;j+=1) Imp[i].push(0);}for (var i=0,_i=0;i<FunW;i+=SpaceW,_i+=1)for (var j=0,_j=0;j<FunH;j+=SpaceH,_j+=1){//if (!Imp[_i][_j]||(!_i&&!Imp[_i-1][_j])){tmp=PCalc(i,j-1);for (var l=0;l<SpaceH&&j+l<FunH;l++)if (TMP=tmp,tmp=PCalc(i,j+l),TMP*tmp<0||Math.abs(tmp)<eps) {Imp[_i][_j]=1;if (_i) Imp[_i-1][_j]=1;break;} }//if (!Imp[_i][_j]||(!_j&&!Imp[_i][_j-1])){tmp=PCalc(i-1,j);for (var l=0;l<SpaceW&&i+l<FunW;l++)if (TMP=tmp,tmp=PCalc(i+l,j),TMP*tmp<0||Math.abs(tmp)<eps) {Imp[_i][_j]=1;if (_j) Imp[_i][_j-1]=1;break;} }}for (var i=0;i<Imp.length;i+=1)for (var j=0;j<Imp[i].length;j+=1)if (Imp[i][j]) ImpDraw(i*SpaceW,j*SpaceH,SpaceW,SpaceH,jump);break;}case '3':{ValueL=Calc(gf.children[5].children[1].children[0].value,[],[]);ValueR=Calc(gf.children[5].children[3].children[0].value,[],[]);ValueS=Calc(gf.children[5].children[5].children[0].value,[],[]);_FUN=FunInit((group[k].parentNode.children[3].children[0].value).toLowerCase());for (var i=ValueL;i<ValueR+ValueS-eps;i+=ValueS){if (i>ValueR) i=ValueR;x=Calc(FUN,['t'],[i]);y=Calc(_FUN,['t'],[i]);px=ChangeToPointX(x);py=ChangeToPointY(y);if (FunLx<=x&&x<FunRx&&FunLy<=y&&y<FunRy){drawarc(px,py,PR);if (DLc) drawline(lax,lay,px,py);OutSide=0;}else{if (DLc) if (!OutSide) drawline(lax,lay,px,py);OutSide=1;}lax=px;lay=py;}break;}}}}function redraw(){el.clearRect(0,0,FunW,FunH);gettable();if (Funstage!=1||$("DrawMoving").checked) getfunction();}function change(){FunLx=parseFloat($("FunLx").value);FunRx=parseFloat($("FunRx").value);FunLy=parseFloat($("FunLy").value);FunRy=parseFloat($("FunRy").value);FontStyle=$("FontStyle").value;redraw();}$("FunLx").value=FunLx;$("FunRx").value=FunRx;$("FunLy").value=FunLy;$("FunRy").value=FunRy;$("FontStyle").value=FontStyle;}function Scale(x,y,times){if (x<0||x>=FunW||y<0||y>=FunH) return;if ($("sizelimit").checked){if (times<1&&(FunRx-FunLx<MIN||FunRy-FunLy<MIN)) return;if (times>1&&(FunRx-FunLx>MAX||FunRy-FunLy>MAX)) return;}x=FunLx+(FunRx-FunLx)/FunW*x;y=FunLy+(FunRy-FunLy)/FunH*y;FunLx=x-(x-FunLx)*times;FunRx=x+(FunRx-x)*times;FunLy=y-(y-FunLy)*times;FunRy=y+(FunRy-y)*times;}ca.onmousedown=function(ob){MoX=yerX;MoY=yerY;Funstage=1;}ca.onmousemove=function(ob){if (Funstage!=1) return;var NoX,NoY,det;NoX=yerX;NoY=yerY;det=(MoX-NoX)/FunW*(FunRx-FunLx);FunLx+=det;FunRx+=det;det=(NoY-MoY)/FunH*(FunRy-FunLy);FunLy+=det;FunRy+=det;MoX=NoX;MoY=NoY;redraw();update();}ca.onmouseup=function(ob){if (Funstage==1){Funstage=0;redraw();}}ca.onmouseleave=function(ob){if (Funstage==1){Funstage=0;redraw();}}ca.onmousewheel=function(ob){ob=ob||window.event;ob.preventDefault();var ScaleRate=$("Scale").value;var detail;if(ob.wheelDelta)detail=ob.wheelDelta;else if(ob.detail)detail=ob.detail;if (detail>0) Scale(yerX,yerY,ScaleRate);else Scale(yerX,yerY,1/ScaleRate);redraw();update();}function Add(){var New=$("mod").cloneNode(true);New.style.display="block";New.children[1].value=getRandomColor();fun.appendChild(New);}function Delete(node){node.parentNode.removeChild(node);}function DrawLine(ob){//if (ob.className=="ui checkbox checked") ob.className="ui checkbox";else ob.className="ui checkbox checked";redraw();}function ShowOption(obj){obj=obj.children[0];if (obj.className=="Caret Right icon") obj.className="Caret Down icon",$("option").style.display="block";else obj.className="Caret Right icon",$("option").style.display="none"; }function FunctionChange(obj){var fi=0,la=2,v=obj.value;obj=obj.parentNode;obj.children[5].style.display="none";obj.children[2].style.display="inline";obj.children[2].children[3].style.display="none";if (v==0){obj.children[2].children[fi].innerHTML="y=";obj.children[2].children[la].innerHTML="";}else if (v==1){obj.children[2].children[fi].innerHTML="r=";obj.children[2].children[la].innerHTML="";obj.children[5].style.display="block";obj.children[5].children[0].innerHTML="t:";obj.children[5].children[1].children[0].value="0";obj.children[5].children[2].innerHTML="~";obj.children[5].children[3].children[0].value="2pi";obj.children[5].children[4].innerHTML=" Space:";obj.children[5].children[5].children[0].value="0.02";}else if (v==2){obj.children[2].children[fi].innerHTML="";obj.children[2].children[la].innerHTML="=0";obj.children[5].style.display="block";obj.children[5].children[0].innerHTML="SpaceW:";obj.children[5].children[1].children[0].value="60";obj.children[5].children[2].innerHTML=" SpaceH:";obj.children[5].children[3].children[0].value="60";obj.children[5].children[4].innerHTML=" Jump:";obj.children[5].children[5].children[0].value="3";}else if (v==3){obj.children[2].style.display="block";obj.children[2].children[3].style.display="inline";obj.children[2].children[fi].innerHTML="x=";obj.children[2].children[la].innerHTML=" y=";obj.children[5].style.display="block";obj.children[5].children[0].innerHTML="t:";obj.children[5].children[2].innerHTML="~";obj.children[5].children[3].children[0].value="1";obj.children[5].children[4].innerHTML=" Space:";obj.children[5].children[5].children[0].value="0.1";}}redraw();update();var maskobj=$("mask");var control=$("control");function mask(){if (maskobj.style.display=="block") control.style.display=maskobj.style.display="none";else control.style.display=maskobj.style.display="block"; }maskobj.onclick=function(){mask();}</script></div></body>View Code。
介绍两款绘制函数图象的软件
![介绍两款绘制函数图象的软件](https://img.taocdn.com/s3/m/de591e7201f69e3143329467.png)
介绍两款数学函数作图软件数与形是数学中两个非常基本的对象,它们在一定条件下可以相互转化.数形结合不仅是一种重要的解题方法,也是一种重要的思维方法,利用数形的辩证统一和各自的优势对分析问题和解决问题都有很大的帮助.下面推荐两款数学函数作图软件,它们可以很好地将数与形结合起来.Equation Grapher 3.2软件大小:1074KB软件语言:英文运行环境:Windows 9x/Me/NT/2000/XP下载地址:www.cce.com.cn/soft这是一款函数图象的作图工具(如下图),只要给它一个函数方程式,就可以帮你画出曲线图,并有12种不同的曲线颜色来区别,还可以将函数图象绘制好后通过打印机输出或保存为位图.该软件还是一款函数作图与分析的工具.画完一幅图后,程序可自动寻找根、极值点、交叉点.同时带有计算功能,可以让软件自动寻找函数的最大值、最小值,还可以完成根据x 求y值或根据y求x值等等运算.软件还有一些其他功能,包括缩放、网格背景设置、x/y轴标注更改、图形存储(BMP/GIF)、图形打印、粘贴到字处理软件等等.SmartGraph软件大小:1317KB软件语言:简体中文运行环境:Windows 9x/Me/NT/2000/XP下载地址:/softSmartGraph这是一款数学函数作图器(如下图),支持以下四种曲线模型:1.y=f(x)普通方程2.x=f(y)普通方程3.x=f(t)y=g(t)参数方程4.r=f(z)极坐标方程另外,软件支持坐标平移,同时对直线和圆锥曲线进行了特别优化.SmartGraph支持曲线的个性设置,如颜色、宽度等.坐标外观也可以完全自定义,如颜色、线条样式、坐标单位等.SmartGraph支持将函数图象导出成BMP图象,方便插入Word、PowerPoint等软件中.SmartGraph内包括多个小工具,如表达式计算器,点线位置关系计算器,线线位置关系计算器等.。
绘制函数图象的五种技法
![绘制函数图象的五种技法](https://img.taocdn.com/s3/m/111a36390975f46526d3e160.png)
绘制函数图象的五种技法如今的社会真的是靠脸吃饭的么?小编我却不以为然,还是觉得靠技术吃饭比较重要,技术不压身!现代教学是多媒体教学,那就离不开教学软件的支撑,几何画板就是其中之一。
在用几何画板辅助数学教学的过程中,常常涉及到函数图象的绘制。
熟练掌握绘制函数图象的方法,对提高数学教学效率很有帮助。
下面小编通过实例来系统总结绘制函数图象的五种技法,如果你get以下几个新技能,离超级学霸就不远啦!一、直接法例1 画函数y=sinx在R上的图象。
操作步骤:单击“图表”菜单下“绘制新函数”f(x)=sinx(如图1)。
二、轨迹法例2 画函数y=(1/4)x^2在区间[-2,3]上的图象。
操作步骤:(1)单击“绘图”菜单下“绘制点”C(-2,0),D(3,0),构造线段CD;(2)选中线段CD,单击“构造”菜单下“线段上的点”构造点E;(3)选中点E,单击“度量”菜单下“横坐标”得点E的横坐标xE;(4)单击“数据”菜单下“计算”,计算y值;(5)依次选中xE、y值,单击“绘图”菜单下“绘制(x,y)”,得点F;(6)选中点E与F,单击“构造”菜单下“轨迹”,得函数在区间[-2,3]的图象(如图2)。
三、参数法例3 绘制二次函数y=-x2+2x+3的图象。
操作步骤:(1)单击“数据”菜单下“新建参数”a=-1,b=2,c=3;(2)单击“绘图”菜单下“绘制新函数”f(x)= =-x2+2x+3(如图3)。
改变参数a、b、c的值(可在选中后按“+”或“-”键),可以动态地探索与发现抛物线的开口方向、顶点坐标和对称轴的变化过程.四、辅助函数法例4画下面函数的图象。
操作步骤:(1)单击“数据”菜单下“新建函数”f(x)=sinx,g(x)=cosx;(2)单击“绘图”菜单下“绘制新函数”。
(如图4)五、变换法一个平移就是一个向量,对于函数图象的平移,采取“标记向量”较为简单。
例5绘制与例2图象相同,而位置可任意改变的函数图象。
函数发生器使用方法
![函数发生器使用方法](https://img.taocdn.com/s3/m/def548491611cc7931b765ce0508763230127442.png)
函数发生器使用方法
函数发生器是一个用于生成各种数学函数的工具,能够帮助人们更加方便地进行函数计算和绘制。
使用函数发生器,需要掌握以下几个步骤:
1. 打开函数发生器软件,进入主界面。
2. 选择需要生成的函数类型。
可以选择常见的函数类型,如三角函数、指数函数、对数函数等。
3. 输入函数的参数。
不同类型的函数有不同的参数,如三角函数需要输入角度值,指数函数需要输入底数和指数值等。
4. 选择函数的范围。
可以设定函数的自变量范围,以便更好地进行图像绘制。
5. 点击生成函数。
软件会根据输入的参数和范围,生成相应的函数并在界面上显示出来。
6. 进行函数图像绘制。
可以选择不同的绘图选项,如线型、颜色、坐标轴等,以便更加清晰地显示函数图像。
7. 进行函数计算。
可以在软件中输入任意的自变量值,计算出对应的函数值。
通过以上几个步骤,就可以轻松地使用函数发生器进行各种函数计算和绘制。
值得注意的是,不同的函数类型和参数会对函数图像产生不同的影响,需要根据实际需求选择合适的函数类型和参数。
- 1 -。
强大的数学函数绘图工具:Graph
![强大的数学函数绘图工具:Graph](https://img.taocdn.com/s3/m/dae0a630dc36a32d7375a417866fb84ae45cc321.png)
强⼤的数学函数绘图⼯具:Graph最近刚做好⼀个站,基于rails 3,教程为主,⼤家捧场看看,谢谢!Graph很⼩,安装包才3M多⼀点,安装好也才10M左右,⽽且,其他它是绿⾊软件,我把它复制到U盘⾥,在没安装过的电脑上,照样运⾏良好。
⽤Graph画图⾮常简单,⽐如,我要画⼀个数学公式:f(x)=x*sin(x)的函数图,可以如下操作:菜单->函数->插⼊函数,或者直接按Ins键,打开函数编辑窗⼝,输⼊公式:x*sin(x),确定,完成怎么样,够简单吧?嫌X坐标不是显⽰为∏?OK,也很简单,双击左侧的“坐标轴”,选上“显⽰为pi的倍数”就可以了,看效果:其他如果对坐标轴有什么要求,⽐如X的范围是2-100,Y显⽰0到20之类的要求,都可以在“坐标轴”⾥⾯设置。
Graph内置了很多的函数,如sin,cos之类的三⾓函数,sqrt开⽅,N次⽅则直接是x^n,超级⽅便,还有随机函数rand,其范围是0到1,具体⼤家可以⽂档。
Graph有⼀个很强⼤的功能是⾃定义函数和常量,具体⽤法是:函数->⾃定义函数,然后在⾥⾯写上⾃定义的函数或常数就可以了。
定义好以后,就可以直接使⽤函数或常数了。
⽐如你定义了⼀个函数abc(x),那么在使⽤的时候,直接写abc(x)就可以了,和系统⾃定义的函数⼀样。
如果定义了常数a=1,b=2,c=3,也可以直接使⽤,⽐如画函数图像:a*x^2+b*x+c.会⾃定义常数后,不得不说⼀下这个⾃定义常数另⼀个强⼤的功能,即动画演⽰。
⽐如我想知道f(x)=a*sin(x),当a从1到10变化时,函数图像会怎么变,这个要怎么实现呢?画10个函数图像?当然这也是⼀种办法,但是Graph给我们提供了更⽅便,也更直观的⽅法,就是“绘制动画”,它会把a的变化情况,直观的以动画的形式,呈现给你看。
以a*sin(x)为例(前提是你已经定义好了常数a),添加好函数图像后,点击“计算”,“绘制动画”点击“绘制动画”后,稍等⽚刻,会出来⼀个播放窗⼝,点击绿⾊的三⾓按钮,就可以看到函数的变化情况了,⾮常的直观吧。
中学数学函数作图器
![中学数学函数作图器](https://img.taocdn.com/s3/m/4772ad88d1d233d4b14e852458fb770bf78a3bb7.png)
中学数学函数作图器中学数学函数作图器能做出中学数学所有类型的函数,功能很丰富,能够满足基本上所有的数学函数运算,是非常实用的函数计算工具。
使用说明两种画法:方法1通用性强但慢。
方法2的通用性差但快。
输入函数(方程)时请了解下面规定,否则可能得不到图像。
您可参考内置的数十个样例。
运算符号、字符(字母不区别大小写)、标点,如无特别指明,需要在英文状态下输入。
加号 + 减号 - 乘号 * 除号 / 乘方 ^ 括号()。
请留意,虽然输入正确,但若超出绘图区域将看不到图像,如 y=1.5x+20 看不到图像,y=1.5x+2 可以。
①对于一般函数(方程),自变量和因变量分别用 x 和 y 表示。
一般函数(方程),若将一次因变量,二次因变量单独写在等号右边,可以提高绘图质量和绘制速度,如 2y-2x-1=0 可以优化变形为 y=(2x+1)/2 ,又如(x/3)^2+(y/2)^2=1 可以优化变形为 y^2=4(1-(x/3)^2)。
一般函数(方程)中,少量图连贯性不太好――原因是绘图质量和绘制速度不易兼得,故折中处理。
当连贯性不太好时,可单击“连点成线”按钮。
②对于参数方程,自变量用 t 表示,因变量用 x 和 y 表示,两个参数方程用英文分号分隔。
如 x=3cos(t) ; y=4sin(t)③对于极坐标方程,自变量用 t 表示,因变量用 r 表示。
如 r=4/(1+0.5cos(t))【注:为了输入方便考虑,不使用θ和ρ】本程序支持 VB6 的所有数学函数,如 abs,sin,cos,sqr,log,exp 等,这些数学函数与数学教科书主要不同之处是需带括号,如4开平方应输入sqr (4)而非sqr4。
字母 P 代表圆周率π(3.14159),字母 e 代表自然对数的底(2.71828)。
VB不直接支持cot,利用cot(x)=1/tan(x),如对y=cot(x)输入为 y=1/tan(x)。
▲VB6中的log函数就是数学中的`ln函数(自然对数函数,以常数e为底数的对数函数),其它对数使用换底公式,如以10为底数的常用对数这样输入log (x)/log(10)。
几何画板制作旋转的函数图像
![几何画板制作旋转的函数图像](https://img.taocdn.com/s3/m/db6d537ba55177232f60ddccda38376baf1fe008.png)
⼏何画板制作旋转的函数图像⽤⼏何画板制作旋转的函数图像佛⼭市南海区⽯门中学谢辅炬奇函数的图像关于原点对称,即以原点为中⼼,图像旋转180之后重合。
如何⽤⼏何画板演⽰这个动态的效果呢?下⾯笔者提供⼀种做法,仅供参考。
例:奇函数sin=的图像关于原点对称。
y x设计思路:图像绕原点O逆时针旋转180,假设图像上任意⼀点P,则P的轨迹是⼀个半圆,圆⼼是原点O,半径是OP。
步骤:1、新建函数sin=,并绘制它的图像。
y x2、在x轴上任取⼀点A,度量A的横坐标X A。
计算f(X A)。
3、依次选取X A ,f(X A)单击菜单【图表】【绘制(x,y)】,得到点B。
4、以原点为旋转中⼼,B点旋转180,得到点C,依次选择O、B两点,单击菜单【作图】【以圆⼼和圆周上的点绘圆】,得到圆O。
5、依次单击OBC三点,单击菜单【作图】【圆上的弧】,得到半圆弧OBC。
6、隐藏圆O,在弧上任取⼀点D,选择D点和A点,单击菜单【作图】【轨迹】。
得到正弦函数图像以原点为旋转中⼼,逆时针旋转BOD后的图像。
7、隐藏圆弧,依次选取D、B两点,单击【编辑】【操作类按钮】【移动】,设置【速度】为⾼速。
依次选择D、C两点,单击【编辑】【操作类按钮】【移动】,设置【速度】为中速。
依次选择第⼀个和第⼆个按钮,单击【编辑】【操作类按钮】【系列】,设置【执⾏参数】为‘依序执⾏’。
单击第三个按钮,则可以观察正弦函数图像以原点逆时针旋转180后重合的动态过程。
(注意图中D点位置的变化)修改f(x)的表达式,可以制作任意奇函数关于原点旋转180重合的动画。
作者信息:谢辅炬,⼴东省梅州市平远⼈,2004年毕业于华南师范⼤学数学系,所学专业为数学与应⽤数学。
04年7⽉⾄今⼯作于佛⼭市南海区⽯门中学。
电⼦邮箱:bambooxie@/doc/f84d290c85868762caaedd3383c4bb4cf7ecb7e8.html联系电话:0757-********联系地址:佛⼭市南海区⽯门中学。
geogebra函数
![geogebra函数](https://img.taocdn.com/s3/m/a6fe32f83086bceb19e8b8f67c1cfad6195fe93b.png)
geogebra函数Geogebra是一款强大的数学软件,其中包含了许多有用的工具,其中包括了函数绘图工具,可以帮助我们更好的学习和理解函数的概念。
实际上,在Geogebra中,我们可以使用函数工具很容易地创建一些简单或者复杂的函数,而且可以自动生成函数图像,让我们快速地看到函数的基本特征。
下面,我们将分步骤介绍如何使用Geogebra创建和绘制函数。
第一步:打开Geogebra软件,在左侧的工具栏中找到函数工具。
它的图标是一个小黑圆加上一个“f(x)”的符号。
点击这个按钮,我们就可以看到一个新的窗口弹出来了,这个窗口被称为“函数窗口”。
第二步:在函数窗口中,我们可以输入我们要创建的函数。
例如,我们要创建函数y = x²,我们只需要在窗口的底部输入相关的代码即可。
如果我们左上方的视图中的区域为“参数(x,y)”,那么我们输入一下代码:y = x * x如果我们想要在坐标系中绘制另一个函数,例如y = cos(x),我们可以使用以下代码:y = cos(x)第三步:在这个函数窗口中,有一些附加选项可以用来调整函数的外观和特性。
例如,我们可以选择使用其他颜色和线条样式来区分不同的函数。
我们可以在窗口左下角的“颜色”和“线宽”下拉菜单中选择自己喜欢的选项,然后按“确定”按钮。
第四步:一旦我们创建并设置好了我们的函数,我们可以点击“确定”按钮,Geogebra会帮我们自动生成函数图像。
这个图像会自动显示在我们的主视图中,我们可以选择缩放和移动图像,以便我们能够更好地了解我们的函数的属性。
第五步:我们也可以在图像中使用Geogebra的其他工具,例如求导、积分、对函数求值,等等。
这些工具可以帮助我们更好地理解和分析函数。
总的来说,Geogebra的函数工具是一个很好的资源,可以帮助我们更好地学习和理解数学中的函数概念。
通过使用这个工具,我们可以创建和分析各种不同的函数,从而加强我们对函数的认识和理解。
在线函数画图
![在线函数画图](https://img.taocdn.com/s3/m/1b668e072bf90242a8956bec0975f46527d3a7c2.png)
在线函数画图随着科技的发展,人们可以轻松地通过在线函数拟合器(online function plotter)来画函数图。
在线函数拟合器是一种在线工具,它可以让用户在线轻松地绘制任何函数图,而无需下载任何特定的软件。
它可以帮助用户快速绘制函数图,以便更好地理解函数的特征。
在线函数拟合器的主要原理是利用类似“向量计算”的技术,以及在线计算机程序的方法,将函数表达为简单的几何形状。
然后,使用高精度的数据点(data points)来近似函数的几何形状,最终将函数绘制成图像。
绘制函数图主要有四个步骤:第一步,需要用户输入函数表达式,第二步,要输入函数的可视化参数,第三步,将函数表示为多维空间中的几何形状,第四步,根据高精度数据点,最终将函数绘制为图像。
用户输入函数表达式时,需要遵守一定的语法规则,以便让程序能够识别函数的表达式。
一般来说,函数表达式的语法类似于数学中的方程式,但是和数学中的方程式不同的是,需要指定函数的自变量和因变量,以及函数拟合器支持的函数类型和其他参数。
在指定函数类型时,用户需要根据自己想要表达的函数,指定函数类型,函数拟合器就能够根据用户的指定来识别函数的表达式。
在绘制函数图之前,需要指定函数的可视化参数。
可视化参数包括函数图的坐标范围,函数图的分辨率,绘制的函数的颜色以及线宽等等,这些参数都可以通过在线函数拟合器来设置。
在线函数拟合器所使用的数据点越多,图像的精度就越高。
一般来说,使用1000-2000个数据点就可以得到比较清晰的图像,而使用更多的数据点则可以让图像精度更高。
绘制函数图有许多其他应用,比如可以用函数图绘制函数的衰减曲线,从而观察函数衰减的速度;可以将数据点拟合成函数,进行更复杂的函数图绘制,从而探究函数的特性和行为;甚至可以用函数图来解决物理问题。
在线函数拟合器的出现,为学习者带来了良好的学习体验,让学习者可以更方便、更快速地绘制函数图,理解函数的特点,从而更好地掌握函数的概念。
画函数图像的软件
![画函数图像的软件](https://img.taocdn.com/s3/m/01c7d2522379168884868762caaedd3383c4b53b.png)
画函数图像的软件
在计算机软件领域中,有一类被广泛应用的工具是用于绘制函数图像的软件。
这类软件能够根据用户输入的函数方程或数学表达式,生成对应的图形展示,帮助用户更直观地理解函数的特性。
本文将介绍几款常见的画函数图像的软件及其特点。
1. 函数绘图软件X
函数绘图软件X是一款功能强大的绘图工具,用户可以通过简单的输入函数表
达式,即可绘制出对应的函数图像。
软件支持常见的数学函数、三角函数、指数函数等,并具有丰富的选项和工具,帮助用户调整图像的样式和显示方式。
用户还可以进行函数图像的放大缩小、平移旋转等操作,以更好地观察函数的性质。
2. 函数图像绘制工具Y
函数图像绘制工具Y是另一款常用的函数绘图软件,具有直观易用的界面和丰
富的功能。
用户可以通过输入函数的表达式或手动绘制点来生成函数图像,同时还可以添加坐标轴、标注等辅助元素,使图像更加清晰和具有表现力。
该软件支持导出图像文件和打印功能,方便用户将绘制的图像保存或分享。
3. 函数图像分析工具Z
除了简单的函数绘制功能,函数图像分析工具Z还提供了更多的分析和研究功能。
用户可以对函数图像进行拟合曲线、求导积分、极值点等操作,帮助深入理解函数的特性和变化规律。
软件还包含了一些常见数学工具和计算器功能,使用户在研究和学习数学问题时能够更高效地进行分析和计算。
综上所述,画函数图像的软件在教学、科研和工程领域都具有重要的应用意义。
通过这些软件,用户可以更直观地了解各种数学函数的特性,为问题求解和决策提供便利。
希望不同领域的用户都能找到适合自己需求的函数绘图软件,提升工作和学习的效率和体验。
scratch如何绘制函数图像?scratch绘制函数图像教程
![scratch如何绘制函数图像?scratch绘制函数图像教程](https://img.taocdn.com/s3/m/22aac4f880c758f5f61fb7360b4c2e3f572725c3.png)
1.打开界面后,点击上方的绘图菜单
2.在下拉列表中点击绘制新函数按钮
3.在弹出的窗口中点击函数右侧的小Байду номын сангаас角形 4.选择tan正切函数按钮
5.在列表中输入2x-4,即可完成f(x)=tan(2x-4)函数图像的创建
scratch这款编程软件更适合儿童使用在这上面没有复杂的代码都是指令块在操作在这上面小伙伴们可以制作游戏或者小程序今天小编就来教大家如何使用scratch绘制函数图像一起来看看
scratch如何绘制函数图像? scratch绘制函数图像教程
scratch软件上不只是能做游戏和小程序,我们还可以在上面创建各种不同的函数图像内容,今天小编就来教大家做个函数图 像,感兴趣的小伙伴就来看看吧。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自己动手做一个数学函数作图器
学习中我们经常会遇到一些要求作图的题目,数学就是一个很好的例子,君不见,哪一个学生不是整天拿着一根尺子几只笔在画啊画的?要是能有一个作图的软件该有多好啊!虽然拿来主义是我们一向的作风,可是只顾拿来而从不动一下脑筋又有点儿说不过去,所以,今天的课题就是——用VB做一个数学函数作图器!
我们先来了解一下VB的坐标系统,VB的坐标系统可分为“窗体的坐标系统”和“对象的坐标系统”两种,但是这两种坐标系统均是以屏幕的左上角为原点(0,0),这和我们平时所选取的以中心为原点显然很不相符,而且使用起来也很不方便。
所以,我们要用VB提供的Scale来自定义坐标系,格式如: Picture1.Scale(-10,10)-(10,-10),意思就是把整个Picture1控件定义为一个20×20的区域用于绘图,以Picture1的中心为原点(0,0)。
有了上面的基础,我们就可以用Pset(画点)、Line(画线)等,轻轻松松地来画函数的图像了。
启动VB,建立一标准EXE工程,再在窗口上如图所示地布置5个Command Button 控件和1个PictureBox控件,输入以下的代码就OK了。
Const Pi = 3.1415926535 '定义圆周率
Dim a, wor
'定义用于在Picture1上的一个位置打印字符函数
Private Function PrintWord(X, Y, Word As String)
With Picture1
.CurrentX = X
.CurrentY = Y
.ForeColor = RGB(0, 0, 255)
End With
Picture1.Print Word
End Function
'定义画点函数
Private Function DrawDot(Px, Py, Color) Picture1.PSet (Px, Py), Color
End Function
Sub XY() '建立直角坐标系
Picture1.DrawWidth = 1 '设置线条宽度Picture1.Cls
'设定用户坐标系,坐标原点在Picture1中心Picture1.Scale (-10, 10)-(10, -10)
Picture1.Line (-10, 0)-(10, 0), RGB(0, 0, 255) Picture1.Line -(9.5, 0.5), RGB(0, 0, 255) Picture1.Line (10, 0)-(9.5, -0.5), RGB(0, 0, 255) Picture1.ForeColor = RGB(0, 0, 255)
Picture1.Print "X"
'画X 轴
Picture1.Line (0, -10)-(0, 10), RGB(0, 0, 255) Picture1.Line -(0.5, 9.5), RGB(0, 0, 255) Picture1.Line (0, 10)-(-0.5, 9.5), RGB(0, 0, 255) Picture1.Print "Y"
'画Y 轴
For lin = -9 To 9
Picture1.Line (lin, 0)-(lin, 0.25)
wor = PrintWord(lin - 0.5, -0.5, Str(lin)) Picture1.Line (0, lin)-(-0.25, lin)
If lin <> 0 Then
wor = PrintWord(-0.9, lin, Str(lin))
End If
Next lin
Picture1.DrawWidth = 2
nd Sub
Private Sub Command1_Click() '画正弦曲线
'用For循环绘点,使其按正弦规律变化。
'步长小,使曲线比较平滑,还能形成动画效果For a = -2 * Pi To 2 * Pi Step Pi / 6000
Dot = DrawDot(a, Sin(a) * 5, RGB(0, 255, 0)) Next a
wor = PrintWord(3, -6, "正弦曲线y=Sinx") End Sub
Private Sub Command2_Click()
For a = -2 * Pi To 2 * Pi Step Pi / 6000
Dot = DrawDot(a, Cos(a) * 5, RGB(255, 0, 0)) Next a
wor = PrintWord(4, 6, "余弦曲线y=Cosx") End Sub
Private Sub Command3_Click()
For a = -3 To 3 Step Pi / 6000
Dot = DrawDot(a, a ^ 2, RGB(0, 0, 0))
Next a
wor = PrintWord(4, 9, "二次曲线y=x^2")
End Sub
Private Sub Command4_Click()
For a = -8 To 8 Step Pi / 6000
If a = 0 Then GoTo err0 '除数不能为0
Dot = DrawDot(a, 1 / a, RGB(255, 0, 255))
err0:
Next a
wor = PrintWord(6, 2, "双曲线y=1/x")
End Sub
Private Sub Command5_Click() '清空屏幕
XY
End Sub
Private Sub Form_Load()
Me.Caption = "数学函数作图?quot;
Me.Show
Me.AutoRedraw = True
Picture1.BackColor = vbWhite
Command1.Caption = "正弦曲线"
Command2.Caption = "余弦曲线"
Command3.Caption = "二次曲线"
Command4.Caption = "双曲线"
Command5.Caption = "清空"
XY
End Sub
Private Sub Form_Resize()
Picture1.Width = Me.Width * 0.94
End Sub
怎么样,是不是很容易就把函数图像画出来了?比起“取点、描点、画图像”的步骤简单多了,而且还是动画效果的呢!
程序在Windows98/XP+VB6.0下编译通过。