• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    圖形變換中視向變換的講解要點

    2014-10-21 14:56:52曹穎超
    科技視界 2014年36期

    曹穎超

    【摘 要】在計算機圖形學教學中,視向變換是一個重點難點,而這部分內容又是后續(xù)學習的基礎,本文根據(jù)筆者多年的教學實踐,詳細闡述了繞任意直線旋轉的講解要點及其與視向變換的關系。使學生易于理解視向變換,間接降低三維圖形顯示的難度,對于學生掌握三維圖形的顯示有著極為重要的意義。

    【關鍵詞】視向變換;三維復合變換;三維圖形顯示

    在計算機圖形學三維圖形顯示中,視向變換是比較抽象難理解的一部分內容[1],而這部分內容又是三維裁剪、消隱和真實感圖形的基礎,因此可以說是難點也是重點。三維復合變換中的繞任意直線旋轉與視向變換有著極為密切的聯(lián)系,如果在教學中將繞任意直線的旋轉變換講解透徹,學生就可以自己推導理解視向變換的實現(xiàn)過程。本文根據(jù)作者多年的教學實踐,詳細闡述了繞任意直線旋轉的講解要點及其與視向變換的關系。

    1 繞任意直線旋轉在三維圖形顯示中的重要性

    在三維圖形的基本顯示流程中(如圖1)[2],視向變換又稱觀察變換是最為抽象的部分,其目的是將世界坐標系中的三維圖形變換到視坐標系(又稱觀察坐標系)。其實質是尋找一個坐標變換矩陣,使得視點為視坐標系的原點,觀察方向為視坐標系的Z軸方向。由于世界坐標系是一個右手坐標系,視坐標系是一個左手坐標系,實現(xiàn)時,先將將觀察方向變換為視坐標系的Z軸,再將X軸取反方向。這一點,與三維圖形繞任意直線的旋轉基本相同。

    圖1 三維圖形基本顯示流程

    在三維圖形繞任意直線的旋轉中,因為在基本幾何變換中有三維圖形繞三條坐標軸的旋轉變換,所以這個問題的基本思路就是將該直線變換為某一條坐標軸,再做旋轉,然后依次做前面變換的逆變換。

    2 繞任意直線旋轉的講解要點

    設有圖形繞任意一條過原點的直線(對于不經過原點直線可以作一個平移變換使之過原點)逆時針旋轉θ角,如圖2,直線用OE表示。A、B、C分別是E點在X、Y、Z軸的投影,也是該直線的方向矢量。

    圖2 繞任意直線的旋轉

    講解要點一:在計算機圖形學中,任何圖形都是用點表示,對圖形作變換也就是對表示圖形的點作變換。所以要使得直線OE與Z軸重合,只要使表示直線的兩個點落到Z軸上就可以了。由于O點在繞坐標軸旋轉中位置不變,所以問題轉化為使得E點落到Z軸上。

    講解要點二:繞坐標軸旋轉過程中,該坐標保持不變,所以要找出過點E且垂直于該坐標軸的平面。

    講解要點三:繞坐標軸旋轉的過程中,點到該坐標軸的距離保持不變。

    圖形繞任意過原點直線逆時針旋轉θ角的過程:

    首先使該直線與Z軸重合,即先使E落到Z軸上,第一步,將E點繞X軸逆時針旋轉α角,使得E點落到XOZ平面,找出過E點且垂直于X軸的平面,再找出該平面與XOZ平面的交線,根據(jù)要點二可知,E′點在該交線上,根據(jù)要點三,可以確定E′的具體位置,在直角三角形AEE′中,可以確定α,得到旋轉變換矩陣Rx(α);第二步,將E′點繞Y軸順時針旋轉β角,使之落到Z軸上,根據(jù)要點二,XOZ平面垂直于Y軸,根據(jù)要點三,可以確定E″在Z軸上的位置,在直角三角形OE′E″中,可以確定β角,得到旋轉變換矩陣Ry(-β)。至此,直線OE與Z軸重合。

    其次,使圖形繞該直線即Z軸逆時針旋轉θ角,得到矩陣Rz(θ)。

    最后,再將直線變換回原來的位置,即先繞Y軸逆時針旋轉β角,得到矩陣Ry(β)。接著繞X軸順時針旋轉α角,得到矩陣Rx(-α)。

    將所有變換矩陣依次相乘,得到繞任意直線旋轉的組合變換矩陣 T=Rx(α)Ry(-β)Rz(θ)Ry(β)Rx(-α)。

    3 三維圖形顯示中的視向變換

    在三維圖形顯示中,視向變換是將世界坐標系變換為視坐標系,一般假定給出視點E后,視點到世界坐標系原點的向量EO即為觀察方向,則E點為視坐標系的原點,EO為視坐標系的Z軸。

    圖3 視向變換

    在變換過程中,要強調的是,坐標變換與物體變換是互逆的。

    第一步將坐標原點平移至視點E,得到平移變換T1。

    第二步,將世界坐標系的Z軸變換到EO,首先將坐標系繞X軸逆時針旋轉90度,將Z軸旋轉到Y軸的反方向,相當于物體變換Rx(-90);再將坐標系繞Y軸順時針旋轉α角,將Z軸旋轉至Ec,相當于物體變換Ry(α);最后將Z軸旋轉至EO,這時由于EOc平面是Z軸和Y軸所在平面,所以垂直于X軸,所以這是將坐標繞X軸逆時針旋轉β角,相當于物體變換Rx(-β)。

    第三步,將世界坐標系的X軸取反向,得到變換矩陣T(-x),這就是左手坐標系——視坐標系。于是得到視向變換矩陣為T=T1·Rx(-90)·Ry(α)·Rx(-β)·T(-x)。

    由于三維圖形顯示過程復雜、抽象,步驟多,尤其是視向變換和投影變換不易理解,因次,在繞任意直線的旋轉中將要點講解清楚,從而使學生易于理解視向變換,間接降低三維圖形顯示的難度,對于學生掌握三維圖形的基本顯示流程有著極為重要的意義。

    【參考文獻】

    [1]陳元琰,張睿哲,吳東,等.計算機圖形學實用技術[M].2版.清華大學出版社,2006:147-150.

    [2]楊欽,徐永安,翟紅英.計算機圖形學[M].清華大學出版社,2005:88-94.

    [責任編輯:湯靜]

    宁海县| 神木县| 仙居县| 交口县| 隆化县| 西林县| 潮安县| 太湖县| 镇巴县| 闸北区| 锦屏县| 达尔| 思南县| 吐鲁番市| 古交市| 祁门县| 永仁县| 柳林县| 屏东市| 克什克腾旗| 平江县| 桂东县| 揭阳市| 康平县| 南陵县| 邵武市| 余干县| 招远市| 卫辉市| 滕州市| 靖宇县| 连江县| 同江市| 平乡县| 曲麻莱县| 类乌齐县| 安龙县| 拜城县| 射洪县| 老河口市| 泰顺县|