ggb学习--迭代二分树
这段时间准备抽时间学习一下ggb。准备把3d-7b平台搬到ggb来。就是想看看这个java编的软件运行3d平台和gsp做个比较。想看看其运行效率如何。我有点好奇。2011-10-17 这是一个用geogbra绘制的椭圆,放到了网上,右键和鼠标拖放都可以。其实几何画板同样可以做到这点。但是几何画板的那些精简版做不到,因为有一个文件被精简掉了。几何画板放到网页上要麻烦点,要上传一堆文件。ggb发布到网上很简单。[url=http://users9.nofeehost.com/myzam/ggb/a.html]测试查看[/url]
另单文件版,解决了在教室里面使用这个软件的问题。因为教室里面的电脑都没装java,上课时不会去安装java虚拟机的。所以这里的单文件版本不可或缺。
GeoGbra 4.0的确出来了,但是是测试版,不能离线offline安装,而且是台湾语。不习惯。
由这个软件可以看出台湾的IT远超大陆。ggb 4.0只有台湾语,而没有大陆语,就明显的看出两地的IT业的差距。
这个软件能代替几何画板吗?不能。几何画板的魅力是什么都没有,当你需要时你就从底层开始建立,在创建的过程就训练了数学。而ggb是做好了的东西,用起来很方便。如配极论就做成了结论。用起来是很爽,但是如果不去自己做一下的,收获并不大,人是很懒的有了现成的工具,是不太想去自己创建工具的。几何画板是没有这类工具,你要用对不起,靠你自己去创建,这恰好可以让你去感受这个过程。几何画板不可能被ggb代替的。
----------------------------------------------
[color=Red]分享我的学习经验,如何学习命令:[/color]
准备一不电子英语词典,最好是有道词典。为什么?
ggb里面有大量的命令,比如我们作出椭圆长轴,但是记不住命令,怎么办?这时打开有道词典,输入椭圆的长轴,你将看到major axis,接着你在ggb的命令框中输入ma,ggb会自动补全命令,框中自动出现majoraxis[],最后,按下F1,看看该命令的使用方法即可。
当然对我来讲只是偶尔这么做。ggb中的命令很少有缩写,基本上就是字典上的英文单词原文。我只看到两个缩写了的命令**(greater common divisor)和lcm(lower common multiple)
还有一个学习经验就是把list作为一个数据类型来理解,该类型可以进行四则运算。也就是说思维上要突破传统观念,抛弃狭义的数据类型观,不要总是认为只有2,0.2,根号2这些才是数据。比如vb中就有一种数据类型叫变体。
---------------------------------------------
[color=Red]我猜的:
cas我的理解是:c---calculus(微积分),a---algebra(代数),s--statistics(统计),不知道对否?我还没来得及细看这个版本,估计作者在,c,a,s三方面做了强化,所以就叫cas 版本了。[/color]
HHHZH告诉我是:CAS是计算机代数系统 Computer algebra system 的缩写
=====================
[b]ggb的各种版本下载,这是最快的下载地此。下面是离线安装包下载地,在线安装累死你。
目前的最新版本 是4.08.
其余为测试版本。[/b][url]http://code.google.com/p/geogebra/downloads/list[/url]
2011-10-18
首先在百度输入java,进入java官网,下载免费的java平台。或直接点击这里下载java平台:[url]http://www.java.com/zh_CN/[/url]
然后点击下面的链接,变可以在网页上看到几何画板或ggb了。
[url=http://users9.nofeehost.com/myzam/ggb/gsp.htm]几何画板动态网页测试[/url]
[url=http://users9.nofeehost.com/myzam/ggb/b.html]几何代数ggb动态网页测试[/url]
加载java几何画板明显的比ggb快。这是当然。选择的语言不一样。
[b]ggb要用到latex语言,那么在那里学习这个语言?[/b]其实我们在使用mathtype编辑数学公式时就可以学习latex语言,我们在该软件的偏好设置里面勾选上可以复制latex语言这一项,这时你只要输入数学公式,然后复制公式,并粘贴到记事本,这些公式的latex语言就显示出来了。就这么简单。多复制几次,多看几次,自然就学会了latex语言。由于这个语言全是英文,如vector的前三个字母为vec,这就是向量,又如bold就是黑体,it便是意大义(italic)体即斜体的标识符。cdot--c为center中心,dot---点之意,又如矩阵要用到标识符:matrix,数组要用标识符号--array。上标就是a^2,下标就是a_2,分数便是由fractal这个单词生成为"\frac 3 2",,比如乘的英文单词是times,那么输入:2\times 3 回车就出现2x3,等等。因此从输入数学符号来讲,ggb可以输入一切数学符号,几何画板这一点上是无法和ggb相比的,但是也恰好是这一点也让大部分人连输入一个上标都费力了。所以学习这个语言需要一部电子英文字典。反正这个软件的入门比几何画板的门槛高。 1楼的好像对几何画板与GGB这两个软件还不熟悉,说的言论,有贻笑大方之嫌!!!! [b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=30154&ptid=3112]3#[/url] [i]fczx[/i] [/b]
这个标题叫ggb学习。是我自己在学习的感受,对与错不重要。就算是错,学到后面就知道了。我只学了几天,我是写我的学习过程中的感受,并非什么教程。何来一笑大方之嫌。你觉得学习中有不对的地方,你给我指出啊,这样我不就进步了吗?你说对吗?
其实嘛,你给我指出来那点不对是最好的,你这种发言含糊其词,对我们这种新手没什么帮助的。你得告诉我们新手的正确观点嘛。
2011-10-19 命令不分大小写
我发现ggb的命令不区分大小写。这还真方便。如:max[2,3],MAX[2,3],MaX[2,3]效果一样。
今天看到了ggb的迭代:是用命令iteration完成的。
iteration[x^2,2,3]=256.,意思就是初值是2,按规律x^2,迭代3次,不知道还有没有其它方法迭代。继续学习。
ggb的命令还是挺智能的。只要模糊的记住英文单词,输入前2个字母,系统就会提示输入。比如输入迭代就得知道前面的几个字母大概是iter,当输入ite时系统就会自动补全。由于ggb有大量的命令,如果比如说仿射比affineratio,交比crossratio。如果对相应的英文单词不去记的话,要从命令中一个一个的找还是很麻烦的。如果这个软件不常去用它,这些命令单词还是要忘记的,有没有好的办法呢?继续学习才知道答案。
还有就是ggb的按钮实际上就是网页的对勾。ggb的滑块还挺容易生出,只要在代数去点一点那个淡绿色的小球,就可以生成滑块。文字的表现也很有意思,可以按照指数的形式生成任意多重。当然要用latex语言。
分段函数要用到条件运算符if。
如:f(x)=if[x>2&&x<4,3,-3].这相当于的f=3(2<x<4),-3(其它),这样的分段函数,if运算符可以嵌套。
此外其仿射比AFFINERATIO[A,B,C]这个比不是3点的单比,而是以A为原点,B为单位点,度量出的点C的仿射坐标。又交比CROSSRATIO[A,B,C,D]=AC/BC:AD/BD(A,B--基点偶,C,D--分点偶),交比的定义和我们在大学里面学的完全一样。而仿射比和交比的关系为:
(AB;CD)=BCD的仿射比/ACD的仿射比。这里的仿射比不是单比。
------------------
关于命令对大小写不敏感的补充:
看下列命令:perpendicularline[A,xAxis],这将产生垂直于x轴的一直线。
再看:perpendicularline[A,xaxis],系统报错,这是否说明系统对大小写还是敏感的呢?回答是,否!理由:x轴是一个对象,该对象的名叫:xAxis,对象的名字是不可以乱动的。 我支持myzam,能说出自已 的学习体验,也是对我们的再教育,对于新手,则是一份极佳的教材。至少对我来讲,我学到了很多,少走了很多弯路,
我支持,大家把自已的学习心得写出来,假如错了, 也请高手指正,让更多的后来者不犯同样的错误。 这个贴子支持了。这也可以算是新手的教程啊。 2011-10-19 如何在文本框中输入矩阵
可以用latex命令。latex命令有多个版本。咱们不管那些。用文本框输入矩阵可以按如下语句输入:
\begin{array}{c}1&2\\3&4\end{array}
说明:begin---开始,end---结束,c---center可以改为left的l,right的r。\\表示换行
如果要加括号,
可以用转义符\。如下:
\left(\begin{array}{c}1&2\\3&4\end{array}\.
上面只有左括号。
或者是:\left(\begin{array}{c}1&2\\3&4\end{array}\right)
这句有左右括号。
或者是\begin{matrix}1&2\\3&4\end{matrix}
说明:用这句不需用设置位置{c},因为这句矩阵元素总居中放置的。ggb系统自带的只可以输入2x2,3x3矩阵,要输入nxn矩阵就得用到latex语言。
但是并不是一切latex语言ggb都支持,如这句:
\color{red}{hello},本应显示红色的hello,但是在ggb中确显示的是red。
"{,}"是latex的定界符。ggb中输错了latex语言我发现不报错,如果报错的话反而影响运行程序,这个设计挺好。还有如下的几句ggb也不支持:
\bold{hello},黑体
\it{hello},斜体
\text{hello},直体
这样看来设置字体格式的latex语言ggb都不支持。也就是说ggb只是部分支持latex。
在看下面三句,输入不同的phi:
\Phi
\phi
\varphi
var---varant变体varphi指phi的变体字。不涉及到字体的格式就可以用。
点:
\cdot
\cdots
\vdots
\ddots
\ldots
极限箭头\to,如输入x^2(当x趋近于3时),在ggb中可以这样输入:\lim_{x\to 3}{x^2}
\cup,\hat
补集符号\complement,这个符号我们老师大部分都用c来的代替。
看了这些你就会想这么多英文能记住吗?是啊能记住吗?能记住多少?
其实我也只能记住一部分,我的绝招就是在在mathtype里面把符号复制到记事本看代码。这个经验奉献个大家分享。
我试了试看能不能从mathtype里面复制符号到ggb来发现不行。要是行的话还真的方便,有点遗憾。
不知怎么回事,ggb的命令部分让人感到和mathematica和maple是一样的风格,仿佛让人感到是一微型的mathematica或maple。所以这软件可以叫做微型maple,这好像比较ggb更形象。 “几何画板的魅力是什么都没有”,只有对gsp感受至深者才会有如此评价。
学什么就精什么,会什么就共享什么。慷慨、坦率,楼主的自信心无与伦比,钦佩! [b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=30162&ptid=3112]10#[/url] [i]inRm[/i] [/b]
谢谢版主。 2011-10-20
ggb中的命令框,可以接受变量和常量,特别是字符串常量。字符串常量要用双引号引起来。
如:命令框中可以输入:t=“hello world”,回车就出现文本框,并显示hello world.
关于工具栏里面的极线与径线工具:
1.什么叫二次曲线的直径?
无穷远点的极线叫直径,如果两个无穷远点共轭,则它们的极线叫共轭直径。那么点的共轭又是怎么回事呢?设P,Q是两个点,A是二次曲线的矩阵,如果内积(AP,Q)=0(用齐次坐标表示),则说点P,Q共轭。如果P为一定点,与P共轭的点集合便是其极线,而P点便叫极点。当P点在一直线上运动时,其极线绕一定点转动。同样当极线绕一定点转动时,其极点便沿一定直线运动。这些结论统称为配极论。从配极论的角度看,二次曲线就是自共轭点的集合。配极论是二次曲面或二次曲线里面最美的理论。完美而漂亮。直径是特殊的极线,特殊在其极点是无穷远点(在扩大的仿射空间中来看,在仿射空间中看直径当然无极点。扩大之意就是添加了无穷远点的仿射空间)。
ggb的经线只的就是直径。ggb中的经线工具要选一直线,在点选二次曲线,选直线就是选直线的无穷远点,这个无穷远点和二次曲线一起确定了一条直径。无穷远点在仿射几何中确定的是一个方向,换句话说,ggb的经线工具作出的那条直径的共轭直径是和点选的直线平行的。
几何画板同样可以打造极线工具。而且可以用代数法或几何法打造。
如何在ggb的文本框里实现换行?
1.如果未使用latex,这个问题就不是问题。2.如使用了latex语言,
则可以借助于矩阵语法和数组语法完成部局,如下:
法一:\begin{matrix}hello\\world\\我爱你\\ggb\end{matrix}
上面的字是居中排列的。
法二:左对齐:
\begin{array}{l}hello\\world\\我爱你\\ggb\end{array}
字居中排列:
\begin{array}{c}hello\\world\\我爱你\\ggb\end{array}
右对齐:
\begin{array}{r}hello\\world\\我爱你\\ggb\end{array}
======================================
ggb中的if运算符号相当于是编程里面的条件语句,
ggb的跌代命令,iteration,和iterationlist相当于编程里面的循环语句。
和几何画板比较各有优点。我觉得ggb的迭代命令要比几何画板的迭代自由,ggb是命令式的迭代,gsp是要点选图形,参数,各有特色。这个还得好好的研究一下。我找了半天的极坐标没找到,ggb只给出了点的极坐标形式,但是极坐标系我发现没有。
ggb的数列命令很好sequence。maple是用seq大体一样的用法。
[color=Red]我个人认为可以把ggb的数据划分为:
常量,如1,2,"hello"
变量:a,b,c
列表(list):{1,1,2,3},可以把列表单独算一个数据类型。[/color]和几何画板对比,几何画板没有必要划分数据类型,但是学习ggb很有必要划分一下数据类型。
==================================
Boolean台湾叫布林,大陆叫布尔。还是台湾的翻译准。中国大陆ggb总部把它翻译成布朗,就有点糊涂了。也许是翻译失误了吧。
======================
属性对话框中的名称和标签文字的差别
名称是程序运行时进行值传递的依据,是变量盒子。而标签文字是为了对对象叫起来方便而起的一个名字。程序在后台进行值传递时是以名称为依据进行的。 那个列表我也没太弄明白,它到底是做什么用的呢?楼主能帮忙举个例子吗?谢谢 list类型不是集合。因为里面有重复的元素。
如:a={1,1,2,3},b={2,3,4,5,5}
命令:union[a,b]={2,3},这样求的是并集。 求点的坐标
1. 在ggb中描一点A,在命令框中输入x(A),y(A),回车变求得了点A的横,纵坐标。
2.轨迹:关于轨迹的思路和几何画板一样,需要一个主动点(必须是一受约束点)和一个被动点。选取轨迹工具点击这两个点,先后次序没关系,便可以构造出轨迹。
如:在x轴上任意的描一点A,用命令a=x(A)求出x坐标。输入b=a^2+1.接着定义点B=(a,b)。这时用轨迹工具就可以创建轨迹。ggb的轨迹操作过程和gsp不同,然,就其思路来讲是一样的。
3.动态文字
动态文字的本质就是在文本框中输入常量和变量的问题。
常量用英文的双引号引起来,变量用变量名表达。常量和变量用加号连接。
如:一个点A(*,*)(动点),作如下输入:
"hello world"+A
这时文本框中会显示hello world(*,*),后面的坐标部分就会动态的变化。
4.连乘的输入
如何输入1,2,3,4连乘,如下:
\prod_{i=1}^4{i}
5.ggb共用一个属性框。
如:在ggb里面任意的画上点A和线g,我想看线g的属性,我可以不去点线而去点点A,从点A的属性框进入到线g的属性框。挺方便的。
if语句:语法if ... then ... else(如果...那么...否则....)
1.创建数值变量t=1,并生成滑块2.if[t<0.5,(1,2),(2,3)]ggb中会生成点。拖动滑块生成的点会轮换的出现。
3.if[t<0.5,t x,-2 x]轮换出现直线y=tx和y=-2x
4.if[t<0.5,"hello","world"],轮换出现hello,world
5.if[t<0.5,"hello",2 x]只会生产 hello,类型不匹配 。
6.if[t<0.5,2 x,"hello"]只会生产y=2x类型不匹配 。
7.if[t<0.5,2 x+y=1]失败
8.if[a<0,(1,2),if[a==0,(-1,2),if[a>0,(4,5)]]] ,嵌套
9.if[a>0,line[(1,0),(2,3)]],a>0时创建直线
10.if[a>0,circle[(0,0),2],circle[(2,3),2] ] 创建不同的圆
11.if[a>0,circle[(0,0),2],line[(2,3),(2,5)] ]失败,类型不匹配 。
我感觉到if运算符要求[color=Red]类型匹配[/color]才可以正常使用。其中的一个功能就是可以用来创建(create object)对象(台湾叫物件)。
==================
现在的编程都是面向对象的,ggb也不例外,控制对象的最重要的是就控制其属性,这一点和可以通过右键菜单完成,还有就是创建对象,这一点可以通过工具栏和命令完成。
is运算符
isdefined[]---是定义的吗?1.输入K=if[a>0,circle[(0,0),2]]
这时在代数数区将看到这个园的名字K
2.输入c=isdefine[k]
3.拉动滑竿,会看到c在两值之间变化true or false
isinteger---是整数吗?
输入isinteger[ 2.3]
=====
感觉学ggb难度比gsp大的多。记忆量大的多。所以这个软件要想像几何画板那样流行难。除非在大学时代就开始接触。教了5年以**的老师外语都忘记的差不多了,而命令是永远不会汉化的。据说有一种语言叫易语言,它就是用汉语编程,是中国人搞出来的,网上还挺火的,又听说发展还不完备,不知道将来会不会迎来一个汉语为主体的编程时代,如过真的能来到的话,咱国人学软件就没那么累了。那么多命令记忆起来有难度。掌握这个软件并非像网上说的那样轻松。当然如果只要求画个线,画个园,那网上说和几何画板差不多容易学,这到也没错。但是网上都没有把学这个软件的难度真实的告诉大家。
ggb关键要去学习命令。如果故用命令的话迭代就完成不了。数列也生成不了。
感觉控制动画不如几何画板方便,也许是习惯问题吧。但是控制色彩比几何画板方便的多。 [b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=30156&ptid=3112]5#[/url] [i]myzam[/i] [/b]
仿射比的,可以建立自己的坐标系,很好! [b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=30223&ptid=3112]19#[/url] [i]chengshu1258[/i] [/b]
我把帮助文档看完了,也动手把文档中的例子做了一下,就软件本身来讲的确比几何画板强,而且包含几何画板的功能。但是有的地方还是不如几何画板,如按钮。界面风格类似于网页风格。自建坐标系没问题。几何画板的方法可以搬过来的。控制动画没几何画板方便。 函数命令
1.在command box中,直接输入f(x)=x^2+2,按下enter则创建函数对象。
2.在command box中输入function[x^2,2,4],按下enter则创建区间[2,4]上的函数对象。
创建区间上的函数比gsp方便。自变量系统约定为x,这点和gsp相同。
3.command box不接受latex语言。要是接受就更方便了。
4.ggb的文本框:
在文本框中用latex输入a间隔b,回车会发现ab并没分开。因为输入语法错误,正确的做法是:
\mbox{a b},这时a和b才会间隔开。
mbox就是model box---模式盒子。
另:在文本框中按如下方法输入:
-{3\atop 2}
3与2就会重叠显示。也就是说,出现的是无分数线的分数。