陳曉霞
(1.浙江科技學(xué)院 理學(xué)院,杭州 310023;2.華中師范大學(xué) 國(guó)家數(shù)字化學(xué)習(xí)工程技術(shù)研究中心, 武漢 430079)
?
基于動(dòng)態(tài)幾何系統(tǒng)的初等代數(shù)表達(dá)式計(jì)算研究
陳曉霞1,2
(1.浙江科技學(xué)院 理學(xué)院,杭州 310023;2.華中師范大學(xué) 國(guó)家數(shù)字化學(xué)習(xí)工程技術(shù)研究中心, 武漢 430079)
摘要:解析平面動(dòng)態(tài)幾何系統(tǒng)中所涉及的幾何圖元對(duì)象的代數(shù)方程代數(shù),將之表示為幾何對(duì)象的代數(shù)屬性,利用樹(shù)形結(jié)構(gòu)及堆棧方法對(duì)含參數(shù)的代數(shù)表達(dá)式進(jìn)行解析和計(jì)算,構(gòu)建具備含參數(shù)的初等代數(shù)表達(dá)式計(jì)算模塊的平面動(dòng)態(tài)幾何系統(tǒng),可以很好地將平面解析幾何的內(nèi)容融合進(jìn)來(lái),從而豐富了平面動(dòng)態(tài)幾何系統(tǒng)的功能,提高了平面動(dòng)態(tài)幾何系統(tǒng)的運(yùn)行效率。
關(guān)鍵詞:平面幾何;動(dòng)態(tài)幾何;平面解析幾何;代數(shù)表達(dá)式
平面歐氏幾何及其代數(shù)化的平面解析幾何一直以來(lái)都是中國(guó)中學(xué)數(shù)學(xué)學(xué)習(xí)的重要內(nèi)容,其中二次曲線的形態(tài)與其代數(shù)方程之間的關(guān)系,直線與二次曲線間的位置關(guān)系與其方程之間的關(guān)系等內(nèi)容,是中學(xué)平面幾何中重要的教學(xué)內(nèi)容。學(xué)生如果可以通過(guò)動(dòng)態(tài)幾何系統(tǒng)來(lái)觀察、模擬、變換二次曲線及直線,從而進(jìn)行直觀生動(dòng)的學(xué)習(xí),就將對(duì)解析幾何內(nèi)容的掌握帶來(lái)很大的幫助。因此,構(gòu)建包含解析幾何內(nèi)容的平面動(dòng)態(tài)幾何系統(tǒng)將使其具備更廣泛的應(yīng)用。
另外,如果利用代數(shù)方法和歐氏幾何的公理體系相結(jié)合的方法來(lái)構(gòu)建動(dòng)態(tài)幾何系統(tǒng),可以提高動(dòng)態(tài)幾何系統(tǒng)的運(yùn)行效率,豐富動(dòng)態(tài)幾何系統(tǒng)功能,增強(qiáng)動(dòng)態(tài)幾何系統(tǒng)操作的便捷性和直觀性。因此,在構(gòu)建平面動(dòng)態(tài)幾何系統(tǒng)時(shí),構(gòu)建合適的解析幾何模塊是十分必要的。
自20世紀(jì)90年代起,幾何畫(huà)板(The Geometry’s SketchPad)[1]、超級(jí)畫(huà)板(Super Smart Platform)[2]、GeoGebra[3]、Carbri Geometry[4]等動(dòng)態(tài)幾何系統(tǒng)被廣泛應(yīng)用于數(shù)學(xué)教學(xué)中[5-9],其中由中國(guó)著名數(shù)學(xué)家張景中院士主導(dǎo)開(kāi)發(fā)的超級(jí)畫(huà)板系統(tǒng)將解析幾何模塊很好地融入平面動(dòng)態(tài)幾何系統(tǒng)中,相較于其他動(dòng)態(tài)幾何系統(tǒng),超級(jí)畫(huà)板的作圖功能更為豐富、作圖效率更高[10-12]。本研究就超級(jí)畫(huà)板系統(tǒng)中解析幾何模塊所涉及的代數(shù)表達(dá)式計(jì)算方法進(jìn)行分析和研究。
利用堆?;蚨鏄?shù)等方法可實(shí)現(xiàn)含參數(shù)表達(dá)式的計(jì)算,詳見(jiàn)文獻(xiàn)[13-16]。這些算法具有一定的普遍適用性,針對(duì)平面動(dòng)態(tài)幾何系統(tǒng)的需求,筆者對(duì)這些算法進(jìn)行一定的修改,從而創(chuàng)建服務(wù)于平面解析幾何的含參數(shù)代數(shù)表達(dá)式的計(jì)算方法。
在平面動(dòng)態(tài)幾何系統(tǒng)中創(chuàng)建解析幾何模塊,需在該系統(tǒng)中解決如下問(wèn)題:
1)幾何圖元對(duì)象的代數(shù)化及標(biāo)準(zhǔn)化。
2)已知曲線方程,通過(guò)計(jì)算繪制曲線的圖形。
3)可求解曲線與曲線、曲線與直線之間的交點(diǎn)。
4)用戶輸入含參數(shù)的代數(shù)表達(dá)式,可運(yùn)算在一定精度范圍內(nèi)相應(yīng)參數(shù)取值確定時(shí)該表達(dá)式的浮點(diǎn)型數(shù)值。
因此,含參數(shù)代數(shù)表達(dá)式計(jì)算在平面動(dòng)態(tài)幾何系統(tǒng)中應(yīng)用的核心問(wèn)題是,幾何圖元對(duì)象的代數(shù)化及含參數(shù)代數(shù)表達(dá)式的數(shù)值計(jì)算方法。
1含參數(shù)代數(shù)表達(dá)式的計(jì)算在平面動(dòng)態(tài)幾何系統(tǒng)中的應(yīng)用
1.1幾何圖元對(duì)象的代數(shù)化
鑒于上述討論,將代數(shù)表達(dá)式計(jì)算算法應(yīng)用于平面動(dòng)態(tài)幾何系統(tǒng),首先需要對(duì)平面動(dòng)態(tài)幾何系統(tǒng)中所涉及的幾何圖元對(duì)象進(jìn)行代數(shù)化。幾何圖元對(duì)象的代數(shù)化是指使用一些用來(lái)表示幾何圖元的代數(shù)變量來(lái)描述幾何圖元對(duì)象,稱(chēng)這些代數(shù)變量為幾何圖元對(duì)象的代數(shù)屬性。由于在解析幾何系統(tǒng)中幾何圖元對(duì)象與其代數(shù)方程是一一對(duì)應(yīng)的,因此可通過(guò)解析幾何圖元對(duì)象的代數(shù)方程來(lái)實(shí)現(xiàn)幾何圖元對(duì)象的代數(shù)化。為實(shí)現(xiàn)此代數(shù)化過(guò)程,在此平面動(dòng)態(tài)幾何系統(tǒng)中,首先需構(gòu)造一個(gè)獨(dú)立的直角坐標(biāo)系系統(tǒng),稱(chēng)之為邏輯直角坐標(biāo)系。在此坐標(biāo)系下,當(dāng)用戶需要構(gòu)造新的幾何對(duì)象時(shí),首先根據(jù)所構(gòu)造的幾何圖元的類(lèi)型獲得其父對(duì)象(即其存在的必要條件)的代數(shù)屬性,并據(jù)此計(jì)算該幾何圖元的代數(shù)屬性以備構(gòu)造。
在平面動(dòng)態(tài)幾何系統(tǒng)中所涉及的幾何圖元對(duì)象,包括點(diǎn)、直線、圓(特殊的圓錐曲線)、圓錐曲線、初等函數(shù)曲線,其代數(shù)屬性分別為:
1)點(diǎn)的代數(shù)屬性,在邏輯直角坐標(biāo)系系統(tǒng)下點(diǎn)的坐標(biāo)x,y。
2)直線的代數(shù)屬性,直線的標(biāo)準(zhǔn)方程ax+by+c=0中的系數(shù)a、b、c。
3)圓錐曲線的代數(shù)屬性,圓錐曲線的標(biāo)準(zhǔn)方程ax2+bxy+cy2+dx+ey+f=0中的系數(shù)a、b、c、d、e。
4)初等函數(shù)曲線的代數(shù)屬性,如果函數(shù)方程為y=f(x),則使用表示f(x)的字符串sy表示其代數(shù)屬性;如果函數(shù)方程為x=f(y),則使用表示f(y)的字符串sx表示其代數(shù)屬性。
以下為常見(jiàn)幾何圖元的代數(shù)屬性計(jì)算方法。
1)線段代數(shù)屬性的計(jì)算。線段的2個(gè)端點(diǎn)為待構(gòu)造線段的父對(duì)象,其代數(shù)屬性計(jì)算過(guò)程如下:
首先,系統(tǒng)獲得父對(duì)象點(diǎn),稱(chēng)為point1、point2,并獲得它們的代數(shù)屬性,即其坐標(biāo)x1、y1和x2、y2。
2)以點(diǎn)斜式方程來(lái)表示的直線的代數(shù)屬性的計(jì)算。待構(gòu)造的直線為過(guò)定點(diǎn)已知斜率的直線,已知定點(diǎn)為該直線的父對(duì)象,其代數(shù)屬性計(jì)算過(guò)程如下:
首先,系統(tǒng)獲得待構(gòu)造直線的父對(duì)象的代數(shù)屬性,表示為x1、y1。
其次,要求用戶通過(guò)對(duì)話框輸入表示斜率的含參數(shù)代數(shù)表達(dá)式,通過(guò)下文所闡述的含參表達(dá)式計(jì)算方法算得該表達(dá)式所對(duì)應(yīng)的數(shù)值,使用字母k表示該斜率。
根據(jù)直線的點(diǎn)斜式方程y-y1=k(x-x1),標(biāo)準(zhǔn)化方程為kx-y-kx1+y1=0,所以,該線段的代數(shù)屬性a、b、c分別為表達(dá)式k、-1和k*x1+y1的值。
3)過(guò)已知點(diǎn)與已知直線平行的直線的代數(shù)屬性的計(jì)算。已知點(diǎn)及已知直線為待構(gòu)造直線的父對(duì)象,其代數(shù)屬性計(jì)算過(guò)程如下:
系統(tǒng)獲得父對(duì)象點(diǎn)和直線的代數(shù)屬性,表示為x0、y0,以及a1、b1和c1,該直線的代數(shù)屬性a、b即父直線的代數(shù)屬性a1和b1,c為表達(dá)式-(a1*x1+b1*y1)的值。
4)已知圓心和圓上一點(diǎn)的圓的代數(shù)屬性的計(jì)算。已知兩點(diǎn)為待構(gòu)造圓的父對(duì)象,其代數(shù)屬性計(jì)算過(guò)程如下:
首先獲得父對(duì)象的代數(shù)屬性,表示為x1、y1、x2、y2。
其次,根據(jù)公式(x-x1)2+(y-y1)2=(x2-x1)2+(y2-y1)2標(biāo)準(zhǔn)化后的方程中各系數(shù)為圓的各代數(shù)屬性,其中a=1、b=0、c=1,d、e、f分別為表達(dá)式-2*x1,-2*y1和(x1)∧2+(y1)∧2-(x2-x1)∧2-(y2-y1)∧2的值。
1.2含參數(shù)的初等代數(shù)表達(dá)式的數(shù)值計(jì)算
含參數(shù)的初等代數(shù)表達(dá)式的數(shù)值計(jì)算包括:表達(dá)式解析和表達(dá)式數(shù)值計(jì)算兩部分。
1.2.1表達(dá)式解析過(guò)程
圖1 表達(dá)式解析圖Fig.1 Expression analysis
表達(dá)式解析過(guò)程如圖1所示。
第一步,將一個(gè)表示初等運(yùn)算的字符串expressionString以“+”或“-”為分隔符分隔為若干“項(xiàng)字符串”itemString。
第二步,將項(xiàng)字符串itemString以“*”或“/”分隔為若干“因子字符串”factorString。
第三步,將itemString分解為“項(xiàng)”item,每個(gè)item由一個(gè)系數(shù)m_nCoeff和一個(gè)“因子列表”factorList構(gòu)成,如果項(xiàng)之間的分隔符為“-”,分隔符后的項(xiàng)的系數(shù)乘以-1。
第四步,每個(gè)factorString分解為一個(gè)因子“factor”,每個(gè)因子由該因子所對(duì)應(yīng)的運(yùn)算類(lèi)型、所含參數(shù)、因子指數(shù)等構(gòu)成,如果因子之間的分隔符為“/”,分隔符后的因子指數(shù)乘以-1。
1.2.2表達(dá)式數(shù)值計(jì)算過(guò)程
表達(dá)式計(jì)算過(guò)程如圖2所示。
第一步,對(duì)item中因子列表中的各個(gè)因子factor,根據(jù)factor的類(lèi)型、參數(shù)、指數(shù)等的不同情況,利用遞歸方法,按照各自對(duì)應(yīng)的計(jì)算公式計(jì)算因子factor的數(shù)值factorValue。
第二步,將item的因子列表factorList中各因子的數(shù)值計(jì)算結(jié)果factorValue相累乘,并將結(jié)果與項(xiàng)系數(shù)相乘得項(xiàng)item的數(shù)值itemValue。
第三步,項(xiàng)與項(xiàng)之間的運(yùn)算結(jié)果相加得到表達(dá)式expression的數(shù)值expressionValue。
圖2 表達(dá)式計(jì)算圖Fig.2 Calculation of expression
圖2中,factorValue的計(jì)算過(guò)程中fun是指運(yùn)算函數(shù),可由factor的類(lèi)型m_nType解析而得,包括三角函數(shù)、反三角函數(shù)、對(duì)數(shù)運(yùn)算等基本初等運(yùn)算。變量型factor的計(jì)算過(guò)程為:系統(tǒng)通過(guò)搜索當(dāng)前文檔中所包含的變量列表查看待計(jì)算的變量是否已經(jīng)存在,如果不存在,則給其賦值為隨機(jī)值,并將其存入變量列表;如果已經(jīng)存在,則獲取其對(duì)應(yīng)的數(shù)值給當(dāng)前變量。
2實(shí)例
基于幾何對(duì)象的代數(shù)化和含參數(shù)的代數(shù)表達(dá)式解析及計(jì)算算法可實(shí)現(xiàn)平面動(dòng)態(tài)幾何系統(tǒng)中,解析幾何模塊功能的融合,例如,如果函數(shù)的解析式是一個(gè)含參數(shù)的初等代數(shù)表達(dá)式,系統(tǒng)可通過(guò)計(jì)算在某區(qū)間內(nèi)以一定的步長(zhǎng)變化的自變量的值所對(duì)應(yīng)的函數(shù)值,并據(jù)此在系統(tǒng)所給定的邏輯坐標(biāo)系中利用描點(diǎn)法繪制函數(shù)圖像;所繪制的函數(shù)圖像在平面動(dòng)態(tài)幾何系統(tǒng)中是以一個(gè)幾何對(duì)象的形態(tài)出現(xiàn)的,因此,可通過(guò)改變函數(shù)解析式中除自變量外的其他參數(shù)的值,動(dòng)態(tài)觀察函數(shù)圖像的變化情況,便于使用者觀察、學(xué)習(xí)和研究函數(shù)形態(tài),包括函數(shù)的單調(diào)區(qū)間、函數(shù)的極值、間斷點(diǎn)情況等。除此之外,利用幾何對(duì)象的代數(shù)化和表達(dá)式計(jì)算系統(tǒng)可提高平面動(dòng)態(tài)幾何系統(tǒng)中幾何對(duì)象的作圖效率,是平面動(dòng)態(tài)幾何系統(tǒng)中構(gòu)造作圖方法的重要補(bǔ)充,例如,繪制各類(lèi)型的交點(diǎn)可歸結(jié)為求解方程組問(wèn)題,再如,過(guò)直線外一點(diǎn)作已知直線的平行線(垂線)的方法并不適用尺規(guī)作圖方法來(lái)構(gòu)造平行線,而是通過(guò)解析幾何中已知點(diǎn)的坐標(biāo)及2條直線的方程之間的關(guān)系直接求得待作直線的代數(shù)屬性,并根據(jù)代數(shù)屬性獲得該直線的方程表達(dá)式,并據(jù)此構(gòu)造直線。
在融合了解析幾何模塊的平面動(dòng)態(tài)幾何系統(tǒng)中,可實(shí)現(xiàn)含參數(shù)初等運(yùn)算表達(dá)式的數(shù)值計(jì)算、函數(shù)圖像繪制、各類(lèi)型交點(diǎn)坐標(biāo)計(jì)算及繪制、點(diǎn)的軌跡繪制等功能。
圖3 表達(dá)式exp的計(jì)算結(jié)果及函數(shù)圖像Fig.3 Value of expression exp and image of function y=exp
例2圓與直線的交點(diǎn)的構(gòu)造
在平面動(dòng)態(tài)幾何系統(tǒng)中構(gòu)造一條直線AB和一個(gè)圓O,選定這2個(gè)幾何對(duì)象作為父對(duì)象構(gòu)造交點(diǎn),在具備代數(shù)表達(dá)式計(jì)算模塊的平面動(dòng)態(tài)幾何系統(tǒng)中可通過(guò)如下過(guò)程實(shí)現(xiàn)交點(diǎn)的構(gòu)造。
第一步,獲取2個(gè)父對(duì)象的代數(shù)屬性,其中直線AB的代數(shù)屬性表示為a1、b1;圓O的代數(shù)屬性表示為a2、b2、c2、d2、e2、f2,其中b2為0。
第三步,針對(duì)x1,x2分別計(jì)算表達(dá)式a1x1+b1和a1x2+b1的值得到y(tǒng)1,y2,(x1,y1)和(x2,y2)即為2個(gè)交點(diǎn)的代數(shù)屬性。
第四步,在交點(diǎn)的代數(shù)屬性的基礎(chǔ)上完成點(diǎn)的構(gòu)造。
由于父對(duì)象的代數(shù)屬性會(huì)隨著其位置等屬性變化而變化,因此通過(guò)上述過(guò)程計(jì)算而得的交點(diǎn)的代數(shù)屬性也隨之變化,從而交點(diǎn)位置也隨父對(duì)象的位置變化而變化,包含退化情況,如圖4所示。
圖4 直線與圓的交點(diǎn)變化情況Fig.4 Change of intersection points between straight line and circle
例3構(gòu)造坐標(biāo)點(diǎn)P(x,x2),觀察當(dāng)x在一定范圍內(nèi)變化時(shí)點(diǎn)P的運(yùn)動(dòng)軌跡構(gòu)造方法:在系統(tǒng)中選擇構(gòu)造坐標(biāo)點(diǎn),在所彈出的對(duì)話框中輸入x坐標(biāo)為x,y坐標(biāo)為y,x拖動(dòng)參數(shù)為x,完成點(diǎn)P的構(gòu)造;再選擇點(diǎn)P,選擇“跟蹤”功能;拖動(dòng)點(diǎn)P,觀察發(fā)現(xiàn)點(diǎn)P的運(yùn)動(dòng)軌跡為拋物線,如圖5所示。
圖5 坐標(biāo)點(diǎn)P(x,x2)的坐標(biāo)計(jì)算和軌跡Fig.5 Values of coordinates and locus of point P(x,x2)
3結(jié)語(yǔ)
將平面動(dòng)態(tài)幾何系統(tǒng)中的幾何對(duì)象代數(shù)化,并設(shè)計(jì)相應(yīng)的含參數(shù)代數(shù)表達(dá)式的計(jì)算算法,就可以很好地將平面解析幾何模塊融入平面動(dòng)態(tài)幾何系統(tǒng)中,從而提高幾何圖元的構(gòu)造效率,提高了系統(tǒng)的操作便捷性和直觀性,豐富了系統(tǒng)的功能。在此基礎(chǔ)上,可進(jìn)一步研究發(fā)展更復(fù)雜形式的表達(dá)式計(jì)算算法,以及面向三維動(dòng)態(tài)幾何系統(tǒng)解析幾何模塊。
參考文獻(xiàn):
[1]JACKIW N. The geometry’s sketchpad[CP/DK]. Berkely: Key Curriculum Press, 1991.
[2]ZHANG J Z, LI C Z. An introduction to logical animation[C]//Computer Algebra and Geometric Algebra with Applications: 6th International Workshop.Berlin Heidelberg: Springer, 2005: 418.
[3]HOHENWARTER J, HOHENWARTER M, LAVICZA Z. Introducing dynamic mathematics software to secondary school teachers: the case of geogebra[J]. Journal of Computers in Mathematics and Science Teaching,2009,28(2):135.
[4]LABORDE J, BELLEMAIR F. Gabri-Geometry II[CP/DK]. Dallas: Texas Instruments, 1993.
[6]IPEK J, ORHAN S, AKBASOGLU R, et al. Math teachers’ geometry learning and teaching with dynamic geometry programs[J]. Global Journal of Information Technology, 2014, 4(2): 44.
[8]萬(wàn)劍.幾何畫(huà)板在初中二次函數(shù)教學(xué)中的應(yīng)用研究[D].南昌:南昌大學(xué),2013.
[9]莊振林.幾何畫(huà)板在高中解析幾何教學(xué)中的應(yīng)用研究[D].呼和浩特:內(nèi)蒙古師范大學(xué),2013.
[10]張景中,彭翕成.函數(shù)作圖軟件的評(píng)價(jià)和選擇[J].數(shù)學(xué)通報(bào),2007,46(8):1.
[11]張景中,江春蓮,彭翕成.基于《超級(jí)畫(huà)板》開(kāi)設(shè)《動(dòng)態(tài)幾何》課程的實(shí)踐與思考[J].數(shù)學(xué)教育學(xué)報(bào),2008,17(5):1.
[12]張傳軍,楊躍鳴,劉軍明.Z+Z智能教育平臺(tái)超級(jí)畫(huà)板的發(fā)展之我見(jiàn)[J].電腦知識(shí)與技術(shù),2014,10(15):3626.
[13]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)[M].北京:清華大學(xué)出版社,2011:52-54.
[14]何云東,黃昶.復(fù)雜表達(dá)式解析和計(jì)算的研究實(shí)現(xiàn)[J].中國(guó)科技信息,2009(8):34.
[15]狄光智,楊為民,張雁.通用表達(dá)式計(jì)算中的關(guān)鍵問(wèn)題研究[J].現(xiàn)代計(jì)算機(jī),2009(4):29-31.
[16]張秀深,楊威.一種用于腳本解釋器的表達(dá)式計(jì)算算法探究[J].山西師大學(xué)報(bào)(社會(huì)科學(xué)版),2012,39(增4):194.
Study of elementary algebraic expression calculation based on dynamic geometry system
CHEN Xiaoxia1,2
(1. School of Sciences, Zhejiang University of Science and Technology, Hangzhou 310023, China; 2.National Engineering Research Center for E-Learning, Central China Normal University,Wuhan 430079, China)
Abstract:Based on the algebraic characteristics of the geometry object in the plane dynamic geometry system, we use tree structure and stack method to analyze and calculate the parameters of the algebraic expression, to build a plane dynamic geometry system with the module of algebraic expression calculation with parameter. The plane dynamic geometry system can combine with the analytical geometry very well, which enriches the function and improves the operation efficiency of the plane dynamic geometry system.
Keywords:plane geometry; dynamic geometry; plane analytical geometry;algebraic expression
中圖分類(lèi)號(hào):O182; TP301.6
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1671-8798(2016)01-0001-06
作者簡(jiǎn)介:陳曉霞(1978—),女,山西省潞城人,講師,博士研究生,主要從事機(jī)器證明、幾何約束求解理論等研究。
收稿日期:2015-10-19
doi:10.3969/j.issn.1671-8798.2016.01.001
浙江科技學(xué)院學(xué)報(bào),第28卷第1期,2016年2月
Journal of Zhejiang University of Science and Technology
Vol.28 No.1, Feb. 2016