999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Matlab的交互式圖形變換教學方法研究

2019-06-12 01:13:54劉曉婷
實驗室研究與探索 2019年5期
關鍵詞:學生

朱 斌,劉曉婷,曲 孟

(長安大學 公路養護裝備國家工程實驗室,西安 710064)

0 引 言

圖形變換是將幾何圖形按照某種法則或規律變成另一種幾何圖形的過程,它是CAD/CAM和計算機圖形學等課程的重要教學內容[1-4],也是學生學習和理解CAD基本原理的基礎,其算法具有廣泛的工業應用[5-8]。該內容兼顧理論性和實踐性,在傳統的圖形變換教學中,矩陣運算是其主要內容,教師在授課過程中經常需要把大量的時間花費在矩陣的各種推導和計算上,而對圖形變換的原理和變換過程無法直觀演示,缺少必要的軟件實驗環節,學生難以領會和掌握圖形變換的算法和實現技巧[9]。

為使學生深入理解圖形變換的基本原理和實現方法,課題組經多年教學探索和實踐,提出了基于模塊化程序設計思想和Matlab軟件的圖形變換教學方法,并開發了相應的Matlab程序,該程序可直觀、形象地展示平移、旋轉、比例等基本幾何變換和更為復雜的復合變換。學生通過上機實驗,可交互式完成各種圖形變換。此外,在此基礎上學生還可以結合自己的學習興趣進行多種拓展練習,形成理論與實踐互動。實踐表明,該方法的應用有助于提高學習積極性、培養學習興趣,深入理解和掌握圖形變換的基本原理和實現方法。

1 Matlab圖形變換原理與流程

Matlab是美國MathWorks公司于1984年推出的商業數學軟件,是matrix&laboratory兩個詞的組合,即矩陣實驗室。該軟件具有強大的數值分析、矩陣運算等功能,已成為大學教學和科研中必不可少的工具之一[10-11]。采用Matlab軟件實現圖形變換的流程介紹如下。

1.1 圖形變換基本原理

圖形變換主要包括二維圖形幾何變換和三維圖形幾何變換。變換的圖形可視為點的集合,變換的實質是對組成圖形的各個頂點進行坐標變換[1]。二維圖形的變換過程可表示為[9]:

(x,y,1)T=(x′,y′,1)

(1)

式中:(x,y,1)為變換前點的坐標;(x′,y′,1)為變換后點的新坐標;T為基本變換矩陣。

由式(1)可以看出,圖形變換的關鍵在于變換矩陣的構造,二維圖形的基本幾何變換可通過圖形的頂點坐標與基本變換矩陣乘積得到;而復合變換可由若干個簡單的基本幾何變換組合得到。其中,基本幾何變換的類型主要有:比例變換、對稱變換、平移變換、旋轉變換等[12],如表1所示。

表1 二維圖形的基本幾何變換矩陣

上述變換矩陣可分為兩類:①變換矩陣中不包含變換參數,即變換過程中不需要用戶輸入參數,如:對稱變換;②變換矩陣中包含變換參數,即在變換過程中需要用戶輸入必要的變換參數,如:比例變換中的比例因子、旋轉變換的旋轉角度、平移變換中的平移量等。依據上述變換矩陣的形式,采用模塊化程序設計思想,可將基本變換矩陣構造為相應的Matlab函數,在函數內部進行變換計算,程序變更也只在函數內部進行,不影響其他模塊,保證程序具有一定的靈活性和開放性,有助于學生在此基礎上進行各種拓展學習。

1.2 基本變換矩陣函數的構造

按照模塊化設計思想,對不需要輸入參數的對稱變換可定義為Matlab的一個無參數函數,如對x軸對稱的變換函數可定義為:

!X軸對稱變換函數 Transformation_X.m

function Transformation_X()

global Points;!定義全局坐標點集矩陣;

Tsx=zeros(3,3);!定義3×3全0矩陣;

Tsx(1,1)=1;!設置(1,1)元素為1;

Tsx(2,2)=-1;!設置(2,2)元素為-1;

Tsx(3,3)=1;!設置(3,3)元素為1;

Points=(Points'*Tsx)';

!原點集與變換矩陣相乘得到新點集;

對于需要輸入參數的變換,同樣可在Matlab中定義為一個無參數函數,在調用該函數時,彈出提示,要求用戶以交互的方式輸入相應的參數,如下面的旋轉變換函數:

!旋轉變換函數 Transformation_R.m

function Transformation_R()

global Points;!定義全局坐標點集矩陣;

a=input('請輸入旋轉角度(逆時針):');

!彈出提示,輸入后賦值給變量a;

T2=zeros(3,3);

T2(1,1)=cosd(a);

T2(1,2)=sind(a);

T2(2,1)=-sind(a);

T2(2,2)=cosd(a);

T2(3,3)=1;

Points=(Points'*T2)';

! 原點集與變換矩陣相乘得到新點集;

其他基本變換可以采用相同方式定義為相應的函數,并放在指定目錄下供主程序調用。

1.3 圖形基本變換的實現

將基本變換矩陣定義為Matlab函數后可實現各種基本變換。以三角形的基本幾何變換為例,程序的處理流程如圖1所示。

圖1 圖形基本變換處理流程

其中,畫三角形函數為根據3個點的坐標值畫出相應的三角形,變換前和變換后均調用該函數,定義好后同樣將該函數放到指定的目錄下供主程序調用。畫三角形函數為:

!畫三角形函數 Draw3Points.m

function Draw3Points(x1,x2,x3,y1,y2,y3)

line([x1,x2],[y1,y2]);!連接點1和點2;

line([x1,x3],[y1,y3]);!連接點1和點3;

line([x2,x3],[y2,y3]);!連接點2和點3;

text(x1,y1,'A');!標注點1為A;

text(x2,y2,'B');!標注點2為B;

text(x3,y3,'C');!標注點3為C;

在此基礎上,學生可根據需要進行各種拓展練習,自行設計出任意的圖形,如:T字形、任意四邊形等,并寫成函數形式,在主程序中直接調用。

1.4 復合變換的實現

CAD/CAM中的圖形變換過程是復雜的,往往用一種基本變換不能實現,必須由兩種或多種基本變換的組合才能得到所需的最終變換圖形,這種復合變換所對應的變換矩陣稱為復合變換矩陣[1],可表示為多個基本變換的乘積,即:

T=T1T2Tn

(2)

式中:T1,T2,…,Tn為基本變換矩陣。

根據復合變換的變換原理,在圖形基本變換的基礎上可通過交互的方式實現復合變換,具體流程如圖2所示。

圖2 圖形的復合變換流程

按構成復合變換的基本變換矩陣順序輸入,如要求繞任意點A旋轉α角的變換圖形,按照復合變換原理,其基本變換矩陣組合為:

T=T平T轉T-平

(3)

對上述變換,根據圖2所示,用戶按順序輸入(2,7,2),其中2、7分別表示平移變換和旋轉變換,并注意以逗號分割。主程序執行時將按輸入的順序依次執行平移和旋轉變換函數,并提示輸入相應的平移量和旋轉角度等參數值。

2 應用實例

2.1 圖形基本變換應用

以三角形變換為例,在Matlab中運行主程序,當運行到需要輸入變換類型時會彈出如下提示:

請輸入基本變換類型,1-比例;2-平移、3-對x軸對稱;4-對y軸對稱;5-對+45°線對稱;6-對-45°線對稱;7-旋轉:______。

圖3為輸入不同類型變換后的運行結果。

圖3 輸入不同類型變換后的運行結果

2.2 復合變換運行實例

由復合變換原理可知,圖形的復合變換是若干個基本變換的組合,且矩陣組合順序要符合變換規律,即基本變換矩陣應按照變換順序輸入。仍以三角形變換為例,圖4所示為三角形繞點(0,3)旋轉90°的變換結果。按照圖2所示變換流程,復合變換矩陣T=T2T7T-2,即輸入(2,7,2),主程序將循環調用平移、旋轉和平移3個函數。當第1次平移變換函數被調用時,會提示輸入平移變換的平移量,即:x方向平移量為0;y方向平移量為-3;第2次循環調用旋轉變換函數,輸入旋轉角度90°,最后再次調用平移變換函數,并輸入x和y方向的平移量,分別為0和3。最終變換結果見圖4。圖5所示為三角形沿直線x+y=2對稱的變換結果,該復合變換矩陣為T=T2T7T3T-7T-2,需要依次進行平移、旋轉、對稱、旋轉、平移共5次基本變換,對T2變換輸入:x方向平移量-2,y方向平移量0;T7輸入旋轉角度45;T3沿x軸對稱,無輸入;T-7輸入旋轉角度-45;T-2輸入x方向平移量2,y方向平移量0,最終變換結果如圖5所示。

圖4 繞(0,3)點旋轉90°的變換結果圖5 沿與直線x+y=2對稱變換結果

3 拓展學習

在本文的實現思路和程序框架基礎上,學生可結合自己的興趣進一步開展以下內容學習:

(1)變換圖形由三角形改變為其他圖形,如:T字形、任意四邊形等;按照本文提供的畫三角形函數的方法,可指導學生將三角形改寫為T字形、任意四邊形或其他直線圖形等函數形式。

(2)按照該方法的實現框架和方法可進行三維圖形的幾何變換[13-15];按照二維圖形的幾何變換思路,可指導學生進行三維圖形的幾何變換,將二維圖形基本變換矩陣構造為4×4階變換矩陣,掌握矩陣不同元素對變換的影響。同樣寫成Matlab函數形式,具體實現方法與二維相同。

(3)進行非直線圖形的變換練習,如:圓、橢圓、拋物線、圓弧等。在CAD/CAM或圖形學等教材中,均未介紹非直線圖形的幾何變換,但借助本文的思路,將畫三角形函數進行適當改造,同樣可以實現圓、拋物線等非直線圖形的圖形變換。

4 結 語

課題組多年的實踐表明,該方法的應用有助于提高學習積極性、培養學習興趣,深入理解和掌握圖形變換的基本原理和實現方法??蛇_到以下目標:①有助于學習和掌握圖形變換的基本原理和實現方法;②理解和掌握CAD軟件的基本實現過程和開發方法;③通過圖形變換的學習,提高Matlab軟件的應用技能和解決問題的能力。

猜你喜歡
學生
快把我哥帶走
親愛的學生們,你們并沒有被奪走什么
英語文摘(2020年9期)2020-11-26 08:10:12
如何喚醒學生自信心
甘肅教育(2020年6期)2020-09-11 07:45:16
怎樣培養學生的自信
甘肅教育(2020年22期)2020-04-13 08:10:54
如何加強學生的養成教育
甘肅教育(2020年20期)2020-04-13 08:04:42
“學生提案”
當代陜西(2019年5期)2019-11-17 04:27:32
《李學生》定檔8月28日
電影(2018年9期)2018-11-14 06:57:21
趕不走的學生
學生寫話
學生寫的話
主站蜘蛛池模板: 日本在线欧美在线| 亚洲嫩模喷白浆| 久久亚洲中文字幕精品一区| 国产福利免费观看| 国产XXXX做受性欧美88| 久青草免费在线视频| 国产不卡国语在线| 女同国产精品一区二区| 97影院午夜在线观看视频| 亚洲精品日产AⅤ| 久久久精品无码一二三区| 国产swag在线观看| a级毛片在线免费| 亚洲性视频网站| 99久久精品久久久久久婷婷| 精品国产91爱| 特级精品毛片免费观看| 97精品国产高清久久久久蜜芽| 国产精品美女自慰喷水| 久久国产精品电影| 国产精品露脸视频| 91系列在线观看| 91精品免费久久久| 毛片在线播放网址| 婷婷开心中文字幕| 亚洲成在线观看| 国产国产人成免费视频77777 | 亚洲三级色| 亚洲国产午夜精华无码福利| 欧美成人手机在线观看网址| 欧美一区二区啪啪| 中字无码精油按摩中出视频| 一本综合久久| 成人在线观看不卡| 国产噜噜噜| 中文字幕天无码久久精品视频免费| 亚洲欧美另类日本| 国产精品女人呻吟在线观看| 国产福利在线免费| 亚洲丝袜中文字幕| 亚洲嫩模喷白浆| 国产欧美在线观看视频| 天堂网国产| 亚洲成人免费在线| 亚洲黄网视频| 国产成人精品免费视频大全五级| 亚洲无码视频喷水| 亚洲精品爱草草视频在线| 日韩不卡免费视频| 中文字幕1区2区| 成人午夜免费观看| 欧美日韩第三页| 亚洲娇小与黑人巨大交| 欧美日韩午夜视频在线观看| 99视频只有精品| 91av成人日本不卡三区| 蜜臀av性久久久久蜜臀aⅴ麻豆| 日本一本在线视频| 国产超碰一区二区三区| 国产香蕉在线视频| 国产性精品| 99精品伊人久久久大香线蕉 | 91口爆吞精国产对白第三集| 欧美日本视频在线观看| 无码精品国产VA在线观看DVD| V一区无码内射国产| 精品色综合| 中文无码伦av中文字幕| 国产欧美又粗又猛又爽老| 欧美天天干| 最新国产你懂的在线网址| 亚洲中文无码av永久伊人| 一级毛片免费不卡在线| 99精品视频在线观看免费播放| 国产亚洲欧美在线人成aaaa| 久久综合结合久久狠狠狠97色| 久久精品人人做人人爽97| 国产高清在线观看91精品| 午夜视频免费一区二区在线看| 爱色欧美亚洲综合图区| 亚洲婷婷在线视频| 免费精品一区二区h|