中文一二三区_九九在线中文字幕无码_国产一二区av_38激情网_欧美一区=区三区_亚洲高清免费观看在线视频

首頁 > 范文大全 > 心得體會 > 學(xué)習(xí)心得體會 > 計算機圖形學(xué)學(xué)習(xí)心得(精選3篇)

計算機圖形學(xué)學(xué)習(xí)心得

發(fā)布時間:2022-12-20

計算機圖形學(xué)學(xué)習(xí)心得(精選3篇)

計算機圖形學(xué)學(xué)習(xí)心得 篇1

  計算機圖形學(xué)是利用計算機研究圖形的表示、生成、處理和顯示的科學(xué)。簡單地說,計算機圖形學(xué)的主要研究內(nèi)容就是研究如何在計算機中表示圖形、以及利用計算機進行圖形的計算、處理和顯示的相關(guān)原理與算法。圖形通常由點、線、面、體等幾何元素和灰度、色彩、線型、線寬等非幾何屬性組成。從處理技術(shù)上來看,圖形主要分為兩類,一類是基于線條信息表示的,如工程圖、等高線地圖、曲面的線框圖等,另一類是明暗圖,也就是通常所說的真實感圖形。經(jīng)過30多年的發(fā)展,計算機圖形學(xué)已成為計算機科學(xué)中最為活躍的分支之一,并得到廣泛的應(yīng)用。

  在科技高度發(fā)展的今天,計算機在人們之中的作用越來越突出。而C語言作為一種計算機的語言,我們學(xué)習(xí)它,有助于我們更好的了解計算機,更好的學(xué)習(xí)計算機圖形學(xué)。因此,C語言對我們計算機圖形學(xué)的學(xué)習(xí)尤其重要,而我們也需要一定的C語言基礎(chǔ)知識。

  在這個學(xué)期里,我們班級的學(xué)生在計算機圖形學(xué)老師何老師的帶領(lǐng)下進行了計算機圖形學(xué)的上機實踐學(xué)習(xí)。在這之前,我們已經(jīng)對C語言這門課程學(xué)習(xí)了一個學(xué)期,對其有了一定的了解和掌握,這對我們計算機圖形的學(xué)習(xí)打下了良好的基礎(chǔ)。但是,萬事開頭難,在計算機圖形學(xué)的上機實踐的過程中還是遇到了一些問題。

  上機實驗是學(xué)習(xí)計算機圖形學(xué)必不可少的實踐環(huán)節(jié),上課學(xué)習(xí)到的知識都需要通過C語言編程做出程序來真正掌握它。對于計算機圖形學(xué)的學(xué)習(xí)目的,可以概括為圖形的表示、圖形的生成、圖形的處理和顯示,這些都必須通過充分的實際上機操作才能完成。我們上機實驗總共包括七個, 每個實驗之前老師都會給我們做詳細(xì)的介紹,具體的操作步驟老師也給了一個參考書,這樣的話,我們在上機過程中也省去了很多麻煩,節(jié)約了很多時間。因此,我們才有了充裕的時間來理解實驗原理,并結(jié)合自己的想象力,編寫出屬于自己的程序。

  學(xué)習(xí)計算機圖形學(xué)除了課堂講授以外,必須保證有不少于課堂講授學(xué)時的上機時間。因為學(xué)時所限,課程安排在周四晚上統(tǒng)一上機實驗,所以我們需要有效地利用上機實驗的機會,盡快掌握理解計算機圖形學(xué)的基礎(chǔ)知識,為今后的繼續(xù)學(xué)習(xí)打下一個良好的基礎(chǔ)。課程上機實驗的目的,不僅僅是驗證教材和講課的內(nèi)

  容、檢查自己所編的程序是否正確,課程安排的上機實驗的目的可以概括為如下幾個方面:

  加深對課堂講授內(nèi)容的理解

  課堂上要講授許多關(guān)于計算機圖形學(xué)的知識和原理,聽起來十分枯燥無味,也不容易記住,死記硬背是不可取的。然而要使用C程序這個工具解決實際學(xué)習(xí)中的問題,通過多次上機練習(xí),,在理解的基礎(chǔ)上就會自然而然地掌握計算機圖形學(xué)圖形生成的算法和處理方式。對于一些內(nèi)容自己認(rèn)為在課堂上聽懂了,但上機實踐中會發(fā)現(xiàn)原來理解的偏差,編寫出來的程序無法運行,這是由于大部分學(xué)生C語言基礎(chǔ)只是不夠牢固的原因。

  學(xué)習(xí)計算機圖形學(xué)不能停留在學(xué)習(xí)它的程序語言,而是利用學(xué)到的知識編寫C語言程序來驗證自己的想法,深入理解圖形生成的原理,解決實際問題。即把C語言作為工具,描述解決實際問題的步驟,由計算機幫助我們解題。只有通過上機才能檢驗自己是否掌握C語言、自己編寫的程序是否能夠正確運行、對計算機的理解是否到位。

  通過上機實驗來驗證自己編制的程序是否正確,恐怕是大多數(shù)同學(xué)在完成老師作業(yè)時的心態(tài)。但是在程序設(shè)計領(lǐng)域里這是一定要克服的傳統(tǒng)的、錯誤的想法。因為在這種思想支配下,可能你會想辦法去"掩蓋"程序中的錯誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問題。而且計算機圖形學(xué)上機實驗是依附在C語言編程基礎(chǔ)之上的,我們對圖形生成算法的理解要通過C程序才能體現(xiàn)出來。

  通過這次為數(shù)不多的幾天計算機實踐學(xué)習(xí),我們鞏固了一些關(guān)于C語言的知識,理解了我們計算機圖形學(xué)的理論知識,這對我們將來到社會工作將會有莫大的幫助。同時它讓我知道計算機圖形的強大和瑰麗之處,雖然我們學(xué)的都是基本的生成算法,但是通過老師展示的幾個計算機圖形學(xué)高級程序,我們才了解到計算機圖形學(xué)可以做出非常華麗的視覺效果,而且只要你努力,任何東西都不會太難。

  最后,還是很慶幸能學(xué)到計算機圖形學(xué)這樣的一門課程,在學(xué)習(xí)本課程的同時,已經(jīng)涉及了很多的學(xué)科,讓我們更有能力成為全方位、多特色的新世紀(jì)人才。編程能力、思維能力都獲得了提高,真是一舉多得。

計算機圖形學(xué)學(xué)習(xí)心得 篇2

  計算機圖形學(xué)是20世紀(jì)60年代以后,隨著計算機技術(shù)(包括計算機硬件技術(shù)和軟件技術(shù))的發(fā)展和完善而形成的一門新興學(xué)科。至今,計算機圖形學(xué)已在建筑,機械,電子,造船,航空,汽車,輕工,廣告,藝術(shù)等領(lǐng)域得到了廣泛的應(yīng)用。可以說,它幾乎影響了所有涉及領(lǐng)域,沖擊和改變著傳統(tǒng)的設(shè)計模式。一打開計算機,人們首先接觸到的就是計算機圖形學(xué)的內(nèi)容,因為計算機的用戶界面已廣泛使用了計算機圖形技術(shù)。事實上,計算機圖形技術(shù)已深入到各個領(lǐng)域。計算機圖形的生成一般包括兩種方法:程序繪圖和交互繪圖。所謂程序繪圖,就是先用計算機語言(例如C語言)編好繪圖程序,然后運行該程序并繪出圖形。而交互繪圖則是應(yīng)用交互式圖形軟件,通過交互命令(鍵盤命令,菜單命令等)由計算機生成圖形。程序繪圖是交互式繪圖的基礎(chǔ)。

  簡單地說,計算機圖形學(xué)的主要研究內(nèi)容就是研究如何在計算機中表示圖形、以及利用計算機進行圖形的計算、處理和顯示的相關(guān)原理與算法。圖形通常由點、線、面、體等幾何元素和灰度、色彩、線型、線寬等非幾何屬性組成。從處理技術(shù)上來看,圖形主要分為兩類,一類是基于線條信息表示的,如工程圖、等高線地圖、曲面的線框圖等,另一類是明暗圖,也就是通常所說的真實感圖形。 計算機圖形學(xué)一個主要的目的就是要利用計算機產(chǎn)生令人賞心悅目的真實感圖形。為此,必須建立圖形所描述的場景的幾何表示,再用某種光照模型,計算在假想的光源、紋理、材質(zhì)屬性下的光照明效果。所以計算機圖形學(xué)與另一門學(xué)科計算機輔助幾何設(shè)計有著密切的關(guān)系。事實上,圖形學(xué)也把可以表示幾何場景的曲線曲面造型技術(shù)和實體造型技術(shù)作為其主要的研究內(nèi)容。同時,真實感圖形計算的結(jié)果是以數(shù)字圖像的方式提供的,計算機圖形學(xué)也就和圖像處理有著密切的關(guān)系。

  這學(xué)期我們主要學(xué)習(xí)了MFC圖形編程,學(xué)習(xí)了《 VC++圖形程序設(shè)計基礎(chǔ)》。從中學(xué)習(xí)了如何建立MFC項目和簡單的輸入與輸出。

  三視圖即主視圖、俯視圖、側(cè)視圖是分別將三維立體對正面、水平面和側(cè)面作正投影得到的三個基本視圖。

  用計算機繪制立體圖的三視圖的具體步驟:

  建立三維空間坐標(biāo)系,這里定義一個右手直角坐標(biāo)系,即z軸正向朝上。在這個定義的坐標(biāo)系下,確定三維立體上各點的位置坐標(biāo),同時引入 齊次坐標(biāo)。 求出所作變換相應(yīng)的四階變換矩陣,一般根據(jù)變換前后圖形上點的幾何關(guān)系或由已知的變換矩陣求得。

  將所作變換寫出矩陣表示式,通過運算求得三維立體上各點(x, y, z)竟變換后的相應(yīng)點(x’ , y’)或(y’ , z’)或(x’ , z’),一般是二維點的齊次坐標(biāo)。

  有變換后的所有二維點繪出三維立體投影后的平面圖形,即為主視圖、俯視圖或側(cè)視圖。

  在右手直角坐標(biāo)系中,將三維立體向xOz面(正面V)作正投影,得到主視圖。由投影變換前后三維立體上點到主視圖上點的關(guān)系,可知此投影變換的變換矩陣為:

  ⎡1⎢0

  Tv=⎢⎢0 ⎢⎣0 000000100⎤0⎥⎥0⎥⎥1⎦

  Tv:主視圖的投影變換矩陣,簡稱投影矩陣。

  若已知三維立體上 n 個點(xi , yi , zi),則各點的齊次坐標(biāo)可寫成 n⨯4 階矩陣,主視圖的投影變換矩陣表示式為:

  ⎡x1y1z11⎤⎡1000⎤⎡x10z11⎤⎢⎥⎢x0z1⎥ ⎢x2y2z21⎥⎢2⎥⎢2⎥0000⎥=⎢⋅⋅⋅⋅⎥ ⎢⋅⋅⋅⋅⎥⋅⎢

  ⎥⎢0010⎥⎢⎥ ⎢⋅⋅⋅⋅⋅⋅⋅⋅⎢⎥⎢⎥⎢⎥ ⎢xyz1⎥⎣0001⎦⎢x0z1⎥nnn⎣n⎦⎣n⎦

  在繪圖時,只要取x=xi , y=zi (i=1,2,…,n),,就可在屏幕上繪出三維立體的主視圖

  三維立體向xOy面(水平面H)作正投影得到俯視圖。

  其投影變換矩陣: ⎡1000⎤ ⎢0100⎥' ⎥T=⎢⎢0000⎥ ⎢⎥ 0001⎣⎦

  為了使俯視圖與主視圖也畫在一個平面內(nèi),就要使H面繞x軸負(fù)方向轉(zhuǎn)90o,此旋轉(zhuǎn)變換矩陣為:

  ⎡1000⎤⎢00-10⎥ ⎥Tx=⎢ ⎢0100⎥ ⎢⎥0001⎦⎣

  為了使俯視圖與主視圖間有一定的間距,還要使H面沿負(fù)z方向平移一段距離z0。其變換矩陣為: ⎡1000⎤ ⎢0100⎥ ⎥T=⎢⎢0010⎥ ⎢⎥ ⎣00-z01⎦

  因此俯視圖的投影變換矩陣為上面三個變換矩陣的連乘積,即:

  ⎡1000⎤⎡1000⎤⎡1000⎤ ⎥⎢⎥⎢⎥⎢ T=T'⋅T⋅T=⎢0100⎥ ⋅ ⎢00-10⎥⋅⎢0100⎥Hx⎢0000⎥⎢0100⎥⎢0010⎥ ⎥⎢⎥⎢⎥⎢ 00-z100010001⎣⎦⎣⎦⎣0⎦ ⎡1000⎤ ⎢00-10⎥⎥ =⎢⎢0000⎥ ⎢⎥00-z1 0⎣⎦

  俯視圖的投影變換矩陣表示為:

  ⎡x1y1z11⎤⎡x10(-y1-z0)1⎤⎢xyz1⎥⎡1000⎤⎢x0(-y-z)1⎥ 2220⎢2⎥⎢00-10⎥⎢2⎥ ⎥=⎢⋅⋅⎢⋅⋅⋅⋅⎥⋅⎢⋅⋅⎥⎢⎥0000 ⎢⎥⎢⎥⋅⋅⋅⋅⋅⋅⋅⋅⎢⎥⎢⎥00-z1⎢⎥ 0⎣⎦⎢⎢⎣xnynzn1⎥⎦⎣xn0(-yn-z0)1⎥⎦

  由此得到三維立體的俯視圖上n個點(xi , -yi-z0) (i=1,2,…,n),取x=xi , y=-yi-z0(i=1,2,…,n),便可繪出三維立體的俯視圖。

  將三維立體向yOz面(側(cè)面W)作正投影得到俯視圖。

  其投影變換矩陣: ⎡0000⎤ ⎢0100⎥' ⎥T=⎢⎢0010⎥ ⎢⎥ 0001⎣⎦為了使俯視圖與主視圖都畫在一個平面內(nèi),就要使W面繞z軸轉(zhuǎn)90o,此旋轉(zhuǎn)變換矩陣為:

  ⎡0100⎤⎢-1000⎥⎥Tz=⎢⎢0010⎥⎢⎥0001⎣⎦

  第3 / 4頁

  為了使側(cè)視圖與主視圖間有一定的間距,還要使W面沿負(fù)x方向平移一段距離x0。其變換矩陣為:

  ⎡1000⎤⎢0100⎥ ⎥T=⎢ ⎢0010⎥ ⎢⎥-x0001⎦⎣

  因此側(cè)視圖的投影變換矩陣為上面三個變換矩陣的連乘積,即:

  ⎡0000⎤⎡0100⎤⎡1000⎤⎢0100⎥⎢-1000⎥⎢0100⎥ ⎥⎥ ⋅ ⎢⎥⋅⎢Tw=⎢ ⎢0010⎥⎢0010⎥⎢0010⎥ ⎥⎢⎥⎢⎥⎢0001⎦⎣0001⎦⎣-x0001⎦⎣

  ⎡0000⎤ ⎢-1000⎥ ⎥ =⎢ ⎢0010⎥⎢⎥ -x0010⎣⎦ ⎡x1y1z11⎤⎡(-y1-x0)0z11⎤ 0000⎡⎤⎢xyz1⎥⎢(-y-x)0z1⎥

  2222 ⎢⎥⎢-1000⎥⎢20⎥⎢⎥⎢⋅=⎢⋅⋅⋅⋅⎥⋅⋅⋅⋅⎥ ⎢⎥0010⎢⎥⎢⎥ ⋅⋅⋅⋅⋅⋅⋅⋅⎢⎥⎢-x001⎥⎢⎥0⎣⎦ ⎢⎢⎣xnynzn1⎥⎦⎣(-yn-x0)0zn1⎥⎦

  由此得到三維立體的側(cè)視圖上n個點(-yi-x0 , zi) (i=1,2,…,n),取x= -yi-x0, y=-zi(i=1,2,…,n),便可繪出三維立體的側(cè)視圖。

  先讓三維立體作投影面,然后旋轉(zhuǎn)投影面得到平攤在同一個平面上的三個視圖。也可以先把三維立體作旋轉(zhuǎn),然后再向投影面作正投影得到同樣的三視圖。

  通過這這們課的學(xué)習(xí),讓我對計算機的應(yīng)用有了更新的認(rèn)識,對于圖形學(xué)中基本圖形的生成算法有了一定的了解,圖形學(xué)是計算機科學(xué)與技術(shù)學(xué)科的活躍前沿學(xué)科,被廣泛的應(yīng)用到生物學(xué)、物理學(xué)、化學(xué)、天文學(xué)、地球物理學(xué)、材料科學(xué)等領(lǐng)域。我深深感到這門學(xué)科涉及的領(lǐng)域之廣是驚人的,可以說博大精深。在這個計算機的時代什么都要用到計算機技術(shù),圖形也是我們生活中重要的部分,好學(xué)好圖形學(xué)為我以后的就業(yè)課成學(xué)習(xí)及新興科學(xué)技術(shù)的運用打下了堅實基礎(chǔ)。更為我以后的就業(yè)打下了堅實的良好基礎(chǔ),使我對未來充滿了信心。感謝向華萍老師對我們的認(rèn)真指導(dǎo)。

計算機圖形學(xué)學(xué)習(xí)心得 篇3

  一、實驗?zāi)康?/p>

  了解梁友棟算法和編碼裁剪算法并利用該算法思想實現(xiàn)某一圖形或直線段的裁剪,加深對梁友棟算法和編碼裁剪算法的理解。

  二、實驗內(nèi)容

  利用梁友棟算法(參數(shù)化線段裁剪算法)或編碼裁剪算法變成實現(xiàn)對直線段或者任一圖形的裁剪。

  三、實驗原理

  梁友棟算法簡介如下:

  設(shè)線段兩端點坐標(biāo)分別為P1(x1,y1)和P2(x2,y2),則其參數(shù)化直線方程可寫成下列形式:

  0≤u≤1

  當(dāng)u=0時,得點P1,當(dāng)u=1時,得點P2。線段的裁剪條件可以由下面的不等式表示: Wxl≤x1﹢uΔx≤Wxr;Wyb≤y1﹢uΔy≤Wyt

  這四個不等式可以表示為:upk≤qk k=1,2,3,4

  其中,參數(shù)p,q定義為:

  p1﹦-Δx, q1﹦x1﹣Wxl

  p2﹦Δx, q2﹦Wxr﹣x1

  p3﹦-Δy, q3﹦y1﹣Wyb

  p4﹦Δy, q4﹦Wyt﹣y1

  下標(biāo)k=1,2,3,4分別對應(yīng)裁剪窗口的左、右、下、上四條邊界線。如果線段平行于裁剪窗口的某兩邊界,則必有相應(yīng)的pk﹦0,如果還滿足qk<0,則線段的端點位于窗口外部,即線段在窗口外,應(yīng)該舍棄。如果qk≥0,線段在窗口內(nèi)。當(dāng)pk<0時,直線是從裁剪窗口第k條邊界線的外部延伸到內(nèi)部。當(dāng)pk>0時,直線是從裁剪窗口第k條邊界線的內(nèi)部延伸到外部。當(dāng)pk不等于零時,可以計算出線段與第k條裁剪窗口邊界線的交點參數(shù): 根據(jù)定義,對于每條線段,pk中必有兩個小于零,而另兩個大于零。對于小于零的pk,直線同第k條裁剪窗口邊線是從外到內(nèi)相遇的,此時如果線段同第k條裁剪窗口邊界線有交點的話,是參數(shù)u從0變大時遇到的,這時計算出相應(yīng)的rk值,取0和各個rk值之中的最大值記為u1。與此相反,對于大于零的pk,計算出相應(yīng)的rk值,取1和各個rk值之中的最小值記為u2。兩個參數(shù)u1和u2定義了在裁剪窗口內(nèi)的線段部分。如果u1>u2,則線段完全落在裁剪窗口之外,應(yīng)被舍棄。否則被裁剪線段可見部分的端點由參數(shù)u1和u2計算出來。

  四、實驗環(huán)境

  Windows XP VisualC++6.0

  五、實驗步驟

  進入VisualC++6.0環(huán)境,在菜單中選擇“FileàNewàProjects”,然后選擇“MFCAppWizard(exe)”新建一個工程文件單擊“OK”,在彈出的對話框中選擇“Single document”,單擊“Finish”,在VisualC++6.0編程界面中選擇CMyView單擊右鍵,選擇“Add Member Function”,在彈出的對話框中添寫“void”和函數(shù)名。

  // 圖形裁減View.cpp : implementation of the CMyView class

  //

  #include "stdafx.h"

  #include "圖形裁減.h"

  #include "圖形裁減Doc.h"

  #include "圖形裁減View.h"

  #ifdef _DEBUG

  #define new DEBUG_NEW

  #undef THIS_FILE

  static char THIS_FILE = __FILE__;

  #endif

  /////////////////////////////////////////////////////////////////////////////

  // CMyView

  IMPLEMENT_DYNCREATE(CMyView, CView)

  BEGIN_MESSAGE_MAP(CMyView, CView)

  //{{AFX_MSG_MAP(CMyView)

  // NOTE - the ClassWizard will add and remove mapping macros here.

  // DO NOT EDIT what you see in these blocks of generated code!

  //}}AFX_MSG_MAP

  // Standard printing commands

  ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)

  ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)

  ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)

  END_MESSAGE_MAP

  /////////////////////////////////////////////////////////////////////////////

  // CMyView construction/destruction

  CMyView::CMyView

  {

  // TODO: add construction code here

  }

  CMyView::~CMyView

  {

  }

  BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)

  {

  // TODO: Modify the Window class or styles here by modifying

  // the CREATESTRUCT cs

  return CView::PreCreateWindow(cs);

  }

  /////////////////////////////////////////////////////////////////////////////

  // CMyView drawing

  void CMyView::OnDraw(CDC* pDC)

  {

  CMyDoc* pDoc = GetDocument;

  ASSERT_VALID(pDoc);

  LINECLIP;

  // TODO: add draw code for native data here

  }

  /////////////////////////////////////////////////////////////////////////////

  // CMyView printing

  BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)

  {

  // default preparation

  return DoPreparePrinting(pInfo);

  }

  void CMyView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)

  {

  // TODO: add extra initialization before printing

  }

  void CMyView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)

  {

  // TODO: add cleanup after printing

  }

  /////////////////////////////////////////////////////////////////////////////

  // CMyView diagnostics

  #ifdef _DEBUG

  void CMyView::AssertValid const

  {

  CView::AssertValid;

  }

  void CMyView::Dump(CDumpContext& dc) const

  {

  CView::Dump(dc);

  }

  CMyDoc* CMyView::GetDocument // non-debug version is inline

  {

  ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));

  return (CMyDoc*)m_pDocument;

  }

  #endif //_DEBUG

  /////////////////////////////////////////////////////////////////////////////

  // CMyView message handlers

  void CMyView::LINECLIP

  {

  //使用梁友棟-Basky直線裁剪算法

  CDC* pDC=GetDC;//取得繪圖設(shè)備環(huán)境上下文指針

  //設(shè)置不同顏色畫筆

  CPen newpen1(PS_SOLID,0,RGB(183,198,0));//窗口顏色

  CPen newpen2(PS_SOLID,0,RGB(0,0,1));//待裁剪線段顏色

  CPen newpen3(PS_SOLID,0,RGB(160,1,255));//裁剪后可見線段顏色

  //輔助變量

  float p[4],q[4],u[4];

  float u1,u2,r[4];

  int x1,y1,x2,y2,x0,y0,x3,y3;

  int dx,dy,k;

  int wxl=300,wxr=450,wyb=100,wyt=400;

  //繪制裁剪窗口

  pDC->SelectObject(&newpen1);

  pDC->Rectangle(wxl,wyt,wxr,wyb);

  x1=100;

  y1=200;

  x2=600;

  y2=400;

  //繪制被裁剪線段

  pDC->SelectObject(&newpen2);

  pDC->MoveTo(x1,y1);

  pDC->LineTo(x2,y2);

  //計算

  dx=x2-x1;

  dy=y2-y1;

  p[0]=(float)-dx;

  p[1]=(float)dx;

  p[2]=(float)-dy;

  p[3]=(float)(dy);

  q[0]=(float)(x1-wxl);

  q[1]=(float)(wxr-x1);

  q[2]=(float)(y1-wyb);

  q[3]=(float)(wyt-y1);

  for(k=0;k<4;k++)

  {

  if ((p[k]==0))//垂直或水平線段,由不為0的另外兩個參數(shù)確定可見部分

  {

  u[k]=1000;

  }

  else

  {

  r[k]=q[k]/p[k];

  if(p[k]<0)

  u[k]=(0>r[k])?0:r[k];//取用0與r[k]中的大值

  else

  u[k]=(r[k]<1)?r[k]:1;//取用1與r[k]中的小值

  }

  }

  //參數(shù)在0-1之間變化,超出為無效參數(shù)

  u1=0.0;

  u2=1.0;

  for(k=0;k<4;k++)

  {

  if(p[k]<0)

  u1=(u[k]>u1)?u[k]:u1;//取用0與u[k]中的大值

  else

  u2=(u[k]

  }

  //滿足條件為可見部分線段

  if(u1<=u2)

  {

  //計算可見部分線段

  x0=(int)(x1+u1*dx);

  y0=(int)(y1+u1*dy);

  x3=(int)(x1+u2*dx);

  y3=(int)(y1+u2*dy);

  //繪制窗口內(nèi)可見線段

  pDC->SelectObject(&newpen3);

  pDC->MoveTo(x0,y0);

  pDC->LineTo(x3,y3);

  }

  }

  六、實驗結(jié)果與分析

  本圖中矩形內(nèi)紫色線段為裁剪之后可見線段,外部的黑色線段部分為帶裁剪部分。

  七、實驗中遇到的問題及解決方法

  1.對于VisualC++6.0的工程文件即:MFC的環(huán)境不熟悉,開始時編寫視圖View下的程序在步驟上尚有困難,不知道該怎樣使用該環(huán)境,再參考了一些相關(guān)書籍和求教于其他人之后,這個問題得到了解決。

  2.最初只是在后面添加了自編程序,并沒有在“OnDraw”里面加入該程序的調(diào)用,程序編譯沒有錯誤,但運行后只是一個窗口,并沒有圖像,后來在同學(xué)的幫助下發(fā)現(xiàn)了這個錯誤,改正后程序順利運行。

  3.程序編寫過程中的語法不再是問題,偶爾有疏忽的時候,編譯時一般就能改正了。

  4.在程序編寫時對于點的坐標(biāo)值不是很注意,隨意定義了一些點,造成直線畫到了圖形的外面。

計算機圖形學(xué)學(xué)習(xí)心得(精選3篇) 相關(guān)內(nèi)容:
  • 學(xué)計算機的心得體會(通用15篇)

    計算機實訓(xùn)在不知不覺中就結(jié)束了,我感覺自己還有好多東西要學(xué),還有好多的東西不懂呢!這是我大學(xué)以來第三次實訓(xùn),每次實訓(xùn)我都感覺學(xué)到了好多東西!因為是一天到晚的不間斷訓(xùn)練,所以記的會非常牢固。...

  • 計算機心得體會800字(通用16篇)

    頂著烈日,懷著一顆火熱激動的心來到了安徽大學(xué),由此開始了為期兩個月的學(xué)校生活。計算機審計中級培訓(xùn)素有“魔鬼訓(xùn)練營”之稱,課程多、難度大、壓力大,在60天左右的時間里要完成計算機基礎(chǔ)、網(wǎng)絡(luò)技術(shù)、數(shù)據(jù)庫、VB編程、審計軟件、會計...

  • 有關(guān)于計算機心得體會范文(精選16篇)

    在這個“靠”證的年代,今年3月我作為體制內(nèi)的一名普通員工為了評職稱不得不參加了職稱計算機考試,還好,都是滿分通過的,對于通過職稱計算機考試有一點發(fā)言權(quán),為了幫助到更多的人我把自己通過高級職稱計算機機考試的心得寫下來。...

  • 計算機心得體會600字(精選20篇)

    隨著科技和社會的發(fā)展,計算機已成為人們學(xué)習(xí),工作,生活,交際的重要工具,同是也是現(xiàn)代社會不可缺少的組成部分。20xx年畢業(yè)之后一直從事教師行業(yè),并且一直從事計算機教學(xué),從事教學(xué)的過程中,我得出一些體會,下面我分享一下我的體會...

  • 對計算機的心得體會1000字(通用20篇)

    隨著計算機技術(shù)的普及以及大眾對計算機進行商務(wù)、學(xué)習(xí)、工作等需求的增長,計算機已經(jīng)成為人們工作和學(xué)習(xí)不可缺少的高科技產(chǎn)品之一,F(xiàn)在計算機已經(jīng)進入實用階段,越來越多的人擁有了自己的計算機,同時希望掌握一定的計算機維護和維修技...

  • 計算機的心得體會范文(通用17篇)

    一、回顧曾經(jīng)以前的電腦是個新鮮的詞匯,而且那時也沒接觸過,只是常常聽人議論著。正是如此,我對計算機有了初步的印象。(一)小學(xué)時,可以看電視和電影,甚至可以有無窮無盡的游戲可以玩,記得以前課本上有介紹計算機的文章,把它描述的...

  • 關(guān)于計算機的心得體會范文(精選19篇)

    陳紅 世紀(jì)之交,學(xué)與技術(shù)突飛猛進,新的發(fā)明與發(fā)現(xiàn)層出不窮。人們發(fā)現(xiàn),這些偉大成就的每一樁每一件,不是直接就是間接與計算機有關(guān)。計算機已經(jīng)成為一種現(xiàn)代文化,這種文化使人類在邁向新世紀(jì)時欣欣向榮,充滿生機。...

  • 關(guān)于計算機心得體會(通用15篇)

    短短的計算機培訓(xùn)結(jié)束了,這段時間的學(xué)習(xí)真的是讓我受益匪淺,有成長的快樂,有豐收的喜悅,有不懂的遺憾,還有即將離別的不舍。這幾天的學(xué)習(xí)真的給我太多的感受,這幾天的學(xué)習(xí)讓我一生都受用無窮。將成為我人生旅途中最寶貴的收獲。...

  • 學(xué)計算機心得體會范文(精選19篇)

    首先,在實訓(xùn)中的第一步是編寫功能較為單一的小程序,雖然是小程序,但所用的知識卻都是我們本學(xué)期學(xué)習(xí)的重點知識。在做題的過程中讓我們把這些知識復(fù)習(xí)了一遍,強化了知識!...

  • 學(xué)計算機的心得體會300字(精選14篇)

    以一種相對復(fù)雜的心情迎來了計算機中級培訓(xùn)活動。之前聽說:中級特別難,通過率極低,F(xiàn)在自己就要進入這場戰(zhàn)役了,心情比較亂。既有自信能順利通過,又有點打退堂鼓。帶著復(fù)雜的心情開始了計算機中級的學(xué)習(xí)之旅。...

  • 教師計算機中級培訓(xùn)心得體會(精選10篇)

    通過這段時間的學(xué)習(xí)及作業(yè)的完成,使我受益匪淺,不僅拓寬了教學(xué)思路,也對教學(xué)有了新的目標(biāo)和方向。下面我談?wù)勛约涸谶@次培訓(xùn)中的收獲及體會。通過學(xué)習(xí)我的最大收獲是:1、信息技術(shù)的使用可以提高課堂效率。...

  • 大學(xué)計算機心得體會范文1000字(精選3篇)

    計算機及信息技術(shù)概述(了解)1、計算機發(fā)展歷史上的重要人物和思想1、 法國物理學(xué)家帕斯卡(1623-1662):在 1642年發(fā)明了第一臺機械式加法機。該機由齒輪組成,靠發(fā)條驅(qū)動,用專用的鐵筆來撥動轉(zhuǎn)輪以輸入數(shù)字。...

  • 最新計算機心得體會范文(精選16篇)

    計算機,即電腦,隨著科學(xué)技術(shù)的發(fā)展,不斷進行著更新發(fā)展。伴隨著計算機走入人類生活,它已成為人們?nèi)粘I畋夭豢缮俚囊徊糠郑踔脸蔀楫?dāng)下許多人工作生活依賴的工具,并衍生了一些與計算機有關(guān)的職業(yè),如電腦工程師、軟件設(shè)計師等。...

  • 大學(xué)計算機實習(xí)心得體會(精選17篇)

    實習(xí)目的:由于這次實習(xí),是我們專業(yè)唯一的實習(xí)教學(xué)環(huán)節(jié),把原來的認(rèn)識實習(xí)、生產(chǎn)實習(xí)和畢業(yè)實習(xí)集中到一起了,所以在實習(xí)中要:1、加強和鞏固理論知識,哦誒樣自己發(fā)現(xiàn)問題并運用所學(xué)知識分析問題和解決問題的能力。...

  • 最新計算機應(yīng)用基礎(chǔ)心得體會范文(通用11篇)

    初踏社會,心情激動、緊張、難過。激動的是我終于可以長大了,可以開始我真正的人生;緊張的是不知自己是否能適應(yīng)這個社會,戰(zhàn)勝這新環(huán)境;難過的是從此我就要在這純真的學(xué)生生活上畫上句號了。心里矛盾,腦子里翻天覆地。...

  • 學(xué)習(xí)心得體會
主站蜘蛛池模板: 里番本子库绅士ACG全彩无码 | 久久福利视频网 | 夜色毛片永久免费 | 99RE热视频精品免费观看 | 一区二区三区日 | 成人免费超碰 | 一级一片在线观看 | 久久香蕉成人免费大片 | 日韩中文字幕av | 日本免费网站看大片视频 | 天天爱夜夜爽 | 欧洲成人一区二区三区 | 国产在线观看午夜福利片 | 91视频免费观看网站 | 蜜臀人妻精品一区二区免费 | 亚洲精品无码精品MV在线观看 | 113美女写真午夜一级观看 | 亚洲日本欧美天堂在线手机版 | 国产女同91疯狂高潮互磨 | 一级a毛片免费观看久久精品 | 国产一二级视频 | 免费观看黄色片视频 | 国产精品国产三级国产aⅴ中文 | 日本免费一二三 | 91精产国品一二三区 | 久久妇女高潮几次MBA | 东北妓女口爆吞精毛片 | 成人.comx8| 九九久久影院 | 国产精品特级毛片一区二区三区 | 午夜影视大全 | 欧美激情国内自拍 | 天干天干天啪啪夜爽爽AV | 欧美激情一区二区三区成人 | 麻豆激情视频在线 | 亚洲熟妇无码AV不卡在线 | 91九色成人| 亚州日本乱码一区二区三区 | 亚洲日韩一区精品射精 | 久久一本久综合久久爱 | 亚洲欧美精品一区二区 |