国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

兩種常見坐標(biāo)系向Authorware窗口坐標(biāo)系的轉(zhuǎn)化

2010-01-18 10:04:28于萬國
關(guān)鍵詞:正弦曲線縱坐標(biāo)直角坐標(biāo)

于萬國

(河北大學(xué),河北保定071002)

在課堂教學(xué)中,經(jīng)常在直角坐標(biāo)系或極坐標(biāo)系下繪制函數(shù)曲線或圖像,但在Authorware中,如果將函數(shù)公式直接運(yùn)用到圖形的繪制上,會(huì)發(fā)現(xiàn)在演示窗口上繪制的圖形并未按照直角坐標(biāo)系中的規(guī)律繪制.原因就是Authorwre窗口坐標(biāo)系與直角坐標(biāo)系有明顯的區(qū)別,本文從Authorwre窗口坐標(biāo)系的特點(diǎn)入手,研究了直角坐標(biāo)系、極坐標(biāo)系向Authorwre窗口坐標(biāo)系的轉(zhuǎn)換,關(guān)鍵是直角坐標(biāo)系向窗口坐標(biāo)系的轉(zhuǎn)換,因?yàn)闃O坐標(biāo)可以先換算成直角坐標(biāo),再由直角坐標(biāo)向窗口坐標(biāo)轉(zhuǎn)換.供經(jīng)常用Authorware制作圖形的讀者參考.

1 Authorware窗口坐標(biāo)系的特點(diǎn)

首先,窗口坐標(biāo)系是一種絕對坐標(biāo)系,坐標(biāo)軸的原點(diǎn)在演示窗口的左上角,計(jì)算機(jī)可以識別、位置不可更改,窗口坐標(biāo)系的坐標(biāo)負(fù)值都不在可視范圍內(nèi)[1].而直角坐標(biāo)系是一種相對坐標(biāo)系,其原點(diǎn)的位置可以根據(jù)需要確定在窗口的任意位置上,其位置可以移動(dòng).

其次,窗口坐標(biāo)系坐標(biāo)軸的正方向分別為:橫坐標(biāo)水平向右遞增,縱坐標(biāo)垂直向下遞增.而直角坐標(biāo)系的縱坐標(biāo)按照一般習(xí)慣總是垂直向上遞增的 (當(dāng)然也可以人為地設(shè)定向下).如圖1所示.

圖1 Authorware窗口坐標(biāo)系與直角坐標(biāo)系

再次,Authorware窗口坐標(biāo)系的單位長度是像素,且窗口坐標(biāo)系的可視長度是一定的,它取決于窗口分辨率的大小,如窗口分辨率的大小為800×600,就表示橫坐標(biāo)的長度為800個(gè)像素,縱坐標(biāo)的長度為600個(gè)像素.而直角坐標(biāo)系的單位長度是可以根據(jù)需要人為設(shè)定的,其坐標(biāo)軸是可以無限延長的.制作圖形演示課件一個(gè)重要的參量就是可視長度,程序中一切用于顯示的運(yùn)算結(jié)果 (諸如函數(shù)的曲線、圖形的位置等)都希望限制在可視長度范圍內(nèi),從而使運(yùn)算結(jié)果要說明的數(shù)學(xué)問題能夠完整反映在演示窗口上.因此,為了顯示的需要,在直角坐標(biāo)系、極坐標(biāo)系下運(yùn)算的結(jié)果都要向Authorware演示窗口坐標(biāo)系轉(zhuǎn)換.

2 直角坐標(biāo)系向窗口坐標(biāo)系的轉(zhuǎn)換

其變換的基本原則是將窗口坐標(biāo)系看作是一個(gè)絕對坐標(biāo)系,把直角坐標(biāo)系看作是在窗口坐標(biāo)系下經(jīng)過一系列變換后所得到的相對坐標(biāo)系.函數(shù)的變換也受這一系列坐標(biāo)系變換過程的制約.其基本過程可以分為三個(gè)步驟 (以直角坐標(biāo)系的原點(diǎn)在窗口中心為例):

第一步:平移 設(shè)窗口坐標(biāo)系坐標(biāo)變量為 x、y,窗口分辨率為 (i×j).將窗口坐標(biāo)系平移到窗口中心,創(chuàng)建一個(gè)新坐標(biāo)系Ⅱ,其坐標(biāo)變量為 x1、y1,那么顯然有

x1=x-i/2

y1=y-j/2

公式中的j/2和i/2是求得窗口坐標(biāo)軸長度的一半.這個(gè)坐標(biāo)系還不是直角坐標(biāo)系,其坐標(biāo)系統(tǒng)的縱坐標(biāo)是向下遞增的.

第二步:翻轉(zhuǎn) 將坐標(biāo)系Ⅱ以坐標(biāo)軸 xd為基準(zhǔn)進(jìn)行上下翻轉(zhuǎn),使坐標(biāo)系統(tǒng)的縱坐標(biāo)向上遞增,形成新坐標(biāo)系Ⅲ,其坐標(biāo)變量為 x2、y2,那么

x2=x-i/2

y2=- (y-j/2)

這個(gè)坐標(biāo)系就是坐標(biāo)原點(diǎn)在窗口中央的直角坐標(biāo)系.

設(shè)該直角坐標(biāo)系函數(shù)公式為:y2=f(x2),

則窗口坐標(biāo)系下函數(shù)公式變換為:y=-f(x-i/2) +j/2.

第三步:縮放 由于窗口坐標(biāo)系的橫、縱軸長度和單位是一定的,所以經(jīng)常會(huì)出現(xiàn)函數(shù)曲線圖像超出窗口顯示范圍或函數(shù)圖像過小的現(xiàn)象,這不利于窗口上的教學(xué)演示.為了取得較好的教學(xué)演示效果,還應(yīng)進(jìn)一步對坐標(biāo)系進(jìn)行縮放變換,形成新坐標(biāo)系Ⅳ.

設(shè)k為描述坐標(biāo)系縮放程度的參量,設(shè) xd、yd為坐標(biāo)系Ⅳ的坐標(biāo)變量,那么這個(gè)坐標(biāo)系就是縮放后的坐標(biāo)原點(diǎn)在演示窗口中央的直角坐標(biāo)系.改變k值就可以改變坐標(biāo)系坐標(biāo)變量值的縮放程度.

根據(jù)上述進(jìn)行推廣,設(shè)直角坐標(biāo)系的原點(diǎn)在窗口坐標(biāo)系中的坐標(biāo)為任意點(diǎn) (x0,y0),那么

如果在直角坐標(biāo)系中函數(shù)公式為:

則在窗口坐標(biāo)系下函數(shù)公式為:

編程者應(yīng)根據(jù)公式 (2)來編制程序,繪制出實(shí)際函數(shù)圖像,但觀察者感受到的是直角坐標(biāo)系函數(shù)公式 (1)的圖像.

通過上述平移、翻轉(zhuǎn)和縮放三個(gè)步驟,就可以將直角坐標(biāo)系中的函數(shù)公式 (1)變換成窗口坐標(biāo)系中的函數(shù)公式 (2)了.坐標(biāo)系變換的過程如圖2所示.

圖2 圖示坐標(biāo)系轉(zhuǎn)換的過程

例如畫正弦曲線,程序代碼如下:

x0:=400 ------定義直角坐標(biāo)系原點(diǎn)x0,y0)

y0:=300

a:=350

b:=200

SetLine(2)

Set Frame(1,RGB(0,0,0))

Line(2,x0-a,y0,x0+a,y0) ------畫直角坐標(biāo)軸X軸

Line(2,x0,y0+b,x0,y0-b) ------畫直角坐標(biāo)軸 Y軸

Set Frame(TRUE,RGB(255,0,0)) ------設(shè)置繪制的正弦曲線為紅色

repeatwithx:=-2*Pi*50to2*Pi*50 ------循環(huán)畫線

y1:=SIN(x/50)

yw:=SIN((x+1)/50)

Line(2,x+400,300-50*y1,x+400,300-50*yw) ------畫線

end repeat[2]

解釋:函數(shù)曲線的繪制大多是先將函數(shù)自變量的連續(xù)數(shù)值均勻分割,取出均勻的分立值,與其對應(yīng)的各個(gè)因變量組成一對對的坐標(biāo)值,然后利用直線繪制函數(shù)連接相鄰的坐標(biāo)點(diǎn),最后這些直線連接起來的宏觀效果就成為一條函數(shù)曲線.這個(gè)例子正是如此,同時(shí)它也用到了直角坐標(biāo)系向窗口坐標(biāo)系的轉(zhuǎn)換技術(shù),該程序定義窗口大小為800*600,將直角坐標(biāo)系的原點(diǎn)設(shè)在窗口中心,坐標(biāo)為 (x0,y0),顯然x0=400,y0=300,對于y=sin(x)在直角坐標(biāo)系下幾個(gè)坐標(biāo)值,如(-2∏,0),(-3∏/2,1),(-∏/2,-1),(∏/2,1),(3∏/2,1)五個(gè)點(diǎn)坐標(biāo),再向窗口坐標(biāo)系轉(zhuǎn)換過程中,首先將坐標(biāo)縮放50倍,得么 (-100∏,0),(-75∏,50),(-25∏,-50),(25∏,50),(75∏,5),然后代入公式xd=x-x0,yd=-y+y0求得在窗口坐標(biāo)系的坐標(biāo) (x,y),分別為 (400-100∏,300),(400-75∏,300-50),(400-25∏,300+50),(400+25∏,300-50),(400+75∏,300+50),經(jīng)過這樣的轉(zhuǎn)換在窗口坐標(biāo)系下看到的正弦曲線就和在直角坐標(biāo)系下看到的正弦曲線一樣了.繪制出來的效果如圖3所示.函數(shù)圖像繪制中的一些復(fù)雜的數(shù)學(xué)公式都可以通過上面的方法完成其數(shù)學(xué)公式的坐標(biāo)系轉(zhuǎn)換.

圖3 正弦曲線

3 極坐標(biāo)系向窗口坐標(biāo)系的轉(zhuǎn)換

對于使用極坐標(biāo)繪圖的情況,操作的方法是先利用極坐標(biāo)方程 r=f(θ),由極角θ算出極徑r,然后使用參數(shù)方程:

換算成直角坐標(biāo),最后再轉(zhuǎn)換為窗口絕對坐標(biāo),最終繪圖是使用窗口絕對坐標(biāo)進(jìn)行的[3].

設(shè)窗口坐標(biāo)系的坐標(biāo)為 x、y;轉(zhuǎn)換坐標(biāo)系的原點(diǎn)在窗口坐標(biāo)系中的坐標(biāo)為 x0、y0,極坐標(biāo)的坐標(biāo)變量為 r和θ

那么,根據(jù)前面推導(dǎo)的結(jié)果,可以得出:

繼續(xù)推導(dǎo),可以得出:

總之,所有教學(xué)課件中窗口展示的函數(shù)及其圖像對于觀察者來說大都是相對于直角坐標(biāo)系的,但程序中Authorware卻只認(rèn)識窗口的絕對坐標(biāo)系,所有基于程序的函數(shù)都是在窗口絕對坐標(biāo)系中繪制的.因此需要將直角坐標(biāo)系中所表現(xiàn)的圖像函數(shù)根據(jù)上面的轉(zhuǎn)換公式變換為窗口坐標(biāo)系下的圖像函數(shù),這樣才能使觀察者感受到正確的圖像.

[1] 牟奇春,普敏.多媒體軟件開發(fā) [M].西安:西安電子科技大學(xué)出版社,2007:1-60

[2] 朱仁成,于秋平.Authorware 7多媒體制作課堂實(shí)訓(xùn) [M].西安:西安電子科技大學(xué)出版社,2006:20-96

[3] 鐘玉琢.多媒體計(jì)算機(jī)技術(shù)基礎(chǔ)及應(yīng)用 [M].北京:高等教育出版社.1999:52-83

猜你喜歡
正弦曲線縱坐標(biāo)直角坐標(biāo)
變化的“魚”
更正
勘 誤
從平面直角坐標(biāo)系到解析幾何
深入學(xué)習(xí)“平面直角坐標(biāo)系”
深刻理解平面直角坐標(biāo)系
基于FANUC系統(tǒng)的車削數(shù)控加工正弦曲線宏程序設(shè)計(jì)
圓環(huán)正弦曲線數(shù)控銑床編程加工探究
認(rèn)識“平面直角坐標(biāo)系”
基于宏程序的正弦曲線零件數(shù)控銑削加工
南京市| 灵山县| 鄂温| 稷山县| 潞城市| 社旗县| 金秀| 山东省| 阿坝县| 读书| 龙江县| 丰顺县| 宾川县| 聂拉木县| 普洱| 辽阳县| 巨野县| 桑植县| 新化县| 图们市| 监利县| 金寨县| 丰原市| 桂东县| 如皋市| 杭锦后旗| 天祝| 石首市| 波密县| 克东县| 安龙县| 女性| 濮阳县| 吐鲁番市| 梁平县| 阿图什市| 永清县| 乌兰察布市| 涟源市| 贡嘎县| 揭阳市|