計算器設(shè)計-課程論文_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  攀枝花學院課程設(shè)計</b></p><p>  題 目: 計算器 </p><p>  院 (系): 數(shù)學與計算機學院 </p><p>  年級專業(yè): 軟件工程1班 </p><p>  

2、姓 名: 刁剛健 </p><p>  學 號: 201510602008 </p><p>  指導教師: </p><p><b>  二〇一六年七月五日</b></p><p

3、><b>  攀枝花學院教務(wù)處制</b></p><p>  攀枝花學院本科學生課程設(shè)計任務(wù)書</p><p>  注:任務(wù)書由指導教師填寫。</p><p>  課程設(shè)計(論文)指導教師成績評定表</p><p><b>  摘 要</b></p><p><

4、b>  目 錄</b></p><p><b>  摘 要I</b></p><p><b>  1 需求分析1</b></p><p>  1.1 需求概述1</p><p>  1.2 需求環(huán)境1</p><p>  1.3 功能描述2&

5、lt;/p><p><b>  2 概要設(shè)計3</b></p><p>  2.1 程序功能模塊3</p><p>  2.2 程序流程圖3</p><p>  2.3 數(shù)據(jù)結(jié)構(gòu)的設(shè)計4</p><p><b>  3 詳細設(shè)計5</b></p><

6、p>  3.1 程序初始化5</p><p>  3.1.1 代碼功能5</p><p>  3.1.2 功能實現(xiàn)代碼5</p><p>  3.2 盤塊的移動過程5</p><p>  3.2.1代碼功能5</p><p>  3.2.2 功能實現(xiàn)代碼5</p><p>  

7、3.3 遞歸函數(shù)6</p><p>  3.3.1 流程圖6</p><p>  3.3.2 功能實現(xiàn)代碼7</p><p><b>  4 測試與運行8</b></p><p><b>  結(jié)束語9</b></p><p><b>  參考文獻10&l

8、t;/b></p><p><b>  1 需求分析</b></p><p><b>  1.1 需求概述</b></p><p>  漢諾塔演示程序設(shè)計是計算機圖形學中圖形變換的內(nèi)容之一。而圖形學中的圖形變換的概念是由簡單圖形生成復(fù)雜圖形,可用二維圖形表示三維形體,甚至可以對靜態(tài)圖形經(jīng)過快速變換而獲得圖形的動態(tài)顯

9、示效果。其任務(wù)是研究各點坐標之間的變化規(guī)律。而本次課程設(shè)計就是利用C語言以及圖形函數(shù)實現(xiàn)漢諾塔的遞歸算法來進行其盤塊移動的全過程顯示。在TC環(huán)境中要實現(xiàn)這樣的功能,就要牽涉到圖形設(shè)備接口的知識。Windows圖形設(shè)備接口是為與設(shè)備無關(guān)的圖形設(shè)計的,是Windows系統(tǒng)的重要組成部分,負責系統(tǒng)與用戶或繪圖程序之間的信息交換,并控制在輸出設(shè)備上顯示圖形或文字。應(yīng)用程序必須通知圖形設(shè)備接口來加載特定的設(shè)備驅(qū)動,一旦驅(qū)動得以加載,就可以準備應(yīng)用

10、設(shè)備進行相關(guān)的操作這些任務(wù)都要通過創(chuàng)建和維護設(shè)備描述表來完成。在實現(xiàn)漢諾塔演示程序設(shè)計時,是利用坐標系統(tǒng)而得到的,而在Windows應(yīng)用程序中有兩種坐標系統(tǒng):設(shè)備坐標系統(tǒng)和邏輯坐標系統(tǒng)。其中設(shè)備坐標系統(tǒng)中又有三種相互獨立的坐標系統(tǒng):屏幕坐標系統(tǒng)、窗口坐標系統(tǒng)和用戶區(qū)坐標系統(tǒng)。這些坐標系統(tǒng)均以像素點來表示度量的單位。屏幕坐標系統(tǒng)使用整個屏幕作為坐標區(qū)域,原點為屏幕原點。窗口坐標系</p><p>  在計算機機圖形

11、學中窗口的定義是指在用戶坐標系中定義的確定顯示內(nèi)容的一個矩形區(qū)域,只有在這個區(qū)域內(nèi)的圖形才能在設(shè)備坐標系下輸出,而窗口外的部分則被截掉。視區(qū)是在設(shè)備坐標中定義的一個區(qū)域,用于輸出窗口中的圖形。視區(qū)決定了窗口中的圖形要顯示于屏幕上的位置的大小。</p><p><b>  1.2 需求環(huán)境</b></p><p>  本課程設(shè)計需要的設(shè)備為硬件要求和軟件配置要求具體要求

12、如下:</p><p> ?、儆布螅阂慌_計算機。</p><p> ?、谲浖渲茫篧INDOWS、C/VC++6.0。</p><p><b>  1.3 功能描述</b></p><p>  簡單計算器包括雙目運算和單目運算功能。雙目運算符包含基本的四則運算及乘冪功能,單目運算符包含正余弦,階乘,對數(shù),開方,倒數(shù)等

13、運算。可對輸入任意操作數(shù),包括小數(shù)和整數(shù)及正數(shù)和負數(shù)進行以上的所有運算并能連續(xù)運算。出現(xiàn)錯誤會給出相應(yīng)提示,同時包含清除,退格,退出功能以及有與所有按鈕相對應(yīng)的菜單項。</p><p><b>  2 概要設(shè)計</b></p><p>  2.1 程序功能模塊</p><p>  如圖是整個計算器的流程圖,打開計算器程序,輸入數(shù)據(jù),調(diào)用輸入數(shù)

14、據(jù)子程序。子程序開始時m_num為零。按下數(shù)字按鈕后,判斷m_num的正負號,對其進行相關(guān)處理,然后在判斷是否有小數(shù)點,處理后輸出結(jié)果。</p><p>  回到總流程圖中,輸完第一個操作數(shù)后,若按下雙目運算符,則把m_num存入num2,按下輸入第二個操作數(shù)并算出結(jié)果。若按下的是單目運算符,則直接對其處理得出結(jié)果。若按下清零,則m_num等于0.在運算中還要判斷運算是否合法,以及結(jié)果是否超出顯示范圍,以做出相關(guān)

15、提示,按下清零。算出后把結(jié)果保存至num2。若需用算出的結(jié)果繼續(xù)運算則回到輸入完第一個操作數(shù)后,若不需要則判斷試否需要開始新一輪的運算,不需要則結(jié)束。</p><p><b>  2.2 程序流程圖</b></p><p>  2.3 數(shù)據(jù)結(jié)構(gòu)的設(shè)計</p><p>  根據(jù)需求分析將用遞歸算法實現(xiàn)計算器0演示過程的數(shù)據(jù)結(jié)構(gòu)的設(shè)計如下:<

16、/p><p>  用一個結(jié)構(gòu)體數(shù)組struct M { int data[15]; int top; }num[3];來定義三個塔座的高度,以及每個塔座存放每個盤塊的代號。</p><p>  定義兩個變量cx,cy來分別表示程序演示步驟的橫坐標和縱坐標的變化。</p><p>  用函數(shù)void move(char x,char y,struct M num[3]);

17、來表示盤塊移動的具體過程;并在move函數(shù)中調(diào)用函數(shù)void hanoi(char x,char y,char z,int n,struct M num[3]);來表示遞歸調(diào)用的過程;最后用一個初始化函數(shù)void Init(void)來對整個程序進行初始化,并調(diào)用move函數(shù)。</p><p><b>  3 詳細設(shè)計</b></p><p><b>  3

18、.1 程序初始化</b></p><p><b>  3.1.1代碼功能</b></p><p>  在初始化程序中,主要實現(xiàn)的是畫出結(jié)構(gòu)框圖和對計算器的各個按鍵的功能設(shè)置。</p><p>  3.1.2 功能實現(xiàn)代碼</p><p>  1、09107xuzhujieDlg.h里變量的定義:</p&

19、gt;<p>  BOOL ele2; // ele定義為布爾值,判斷當前值是否是正數(shù)還是負數(shù)</p><p><b>  int addt;</b></p><p><b>  int i;</b></p><p>  int dint;//dent判斷小數(shù)后的位數(shù)</p><p>

20、  BOOL ele; //ele2定義為布爾值,判斷是否有小數(shù)點</p><p>  double num2;</p><p>  double num1;</p><p>  2、程序運行時初始化和頭文件:</p><p>  m_num=0; //輸出框清0</p><p>  num1=0; //變量1為0&l

21、t;/p><p>  num2=0; //變量2為0</p><p>  dint=0; //小數(shù)點位數(shù) </p><p>  addt=0; //整數(shù)位數(shù)無</p><p>  ele=FALSE; //當前無小數(shù)</p><p>  ele2=TRUE;</p><p>  09107xuzhu

22、jieDlg.cpp里加上頭文件#include "math.h"</p><p>  3、 數(shù)字鍵1的程序:(數(shù)字鍵2到9類似)</p><p>  if(addt==0)num2=0;</p><p>  if(ele2==TRUE)</p><p>  m_num=m_num*10+1; //單擊數(shù)字鍵1后把數(shù)據(jù)傳送

23、到輸出框中</p><p>  else m_num=m_num*10-1;</p><p>  if (ele==TRUE) //當前是否有小數(shù)點,如果有</p><p><b>  {</b></p><p><b>  num1=1; </b></p><p>  di

24、nt=dint++;</p><p>  for (i=0;i<dint;i++)</p><p><b>  {</b></p><p>  num1=num1/10; //1/10,得到的小數(shù)放入輸出框中</p><p><b>  }</b></p><p>  

25、if (ele2==TRUE) //當前值是否是正數(shù)還是負數(shù),如果是正數(shù)</p><p>  m_num=(m_num-1)/10+num1; //前面不加負號</p><p><b>  else</b></p><p>  m_num=(m_num+1)/10-num1; //否則前面加負號</p><p><

26、b>  }</b></p><p>  UpdateData(FALSE); //數(shù)據(jù)刷新</p><p>  5、 加法鍵+的程序:(-,*,/,x,x^y的代碼類似)</p><p>  if(num2==0)</p><p>  {num2=m_num; //把第二個值賦于輸出框的成員變量</p><

27、;p>  m_num=0; //輸出框的成員變量清0</p><p>  ele=FALSE; //當前小數(shù)無</p><p>  ele2=TRUE; //當前符號為正</p><p>  dint=0; //小數(shù)位數(shù)無</p><p><b>  addt=1;</b></p><p>

28、;<b>  }</b></p><p>  6、 Sqrt鍵的程序:</p><p>  if(m_num!=0)num2=m_num;</p><p>  if(m_num>=0)</p><p>  {m_num=sqrt(num2); //對數(shù)進行開根號</p><p>  Upda

29、teData(FALSE); //數(shù)據(jù)刷新</p><p>  num2=m_num;</p><p><b>  }</b></p><p>  else GetDlgItem(IDC_xianshi)->SetWindowText("錯誤,負數(shù)不能開根號");</p><p><b&g

30、t;  m_num=0;</b></p><p><b>  num1=0;</b></p><p><b>  dint=0;</b></p><p>  ele=FALSE;</p><p>  ele2=TRUE;</p><p><b>  7、

31、n!鍵的程序:</b></p><p>  if(m_num!=0)num2=m_num;</p><p>  if(fmod(num2,1)==0)</p><p><b>  {m_num=1;</b></p><p>  for(i=1;i<=num2;i++)m_num*=i; //對數(shù)進行求階

32、乘</p><p>  UpdateData(FALSE); //數(shù)據(jù)刷新</p><p>  num2=m_num;</p><p>  if(m_num>=1.7E308||m_num<-1.7E308)</p><p>  GetDlgItem(IDC_xianshi)->SetWindowText("結(jié)果過

33、大,無法顯示");</p><p><b>  }</b></p><p>  else GetDlgItem(IDC_xianshi)->SetWindowText("不是整數(shù)無法進行階乘運算");</p><p><b>  m_num=0;</b></p><p

34、><b>  num1=0;</b></p><p><b>  dint=0;</b></p><p>  ele=FALSE;</p><p>  ele2=TRUE;</p><p>  8、1/x鍵的程序:</p><p>  if(m_num!=0)num2=

35、m_num;</p><p>  if(num2!=0)</p><p><b>  {</b></p><p>  m_num=1.0/num2; //對數(shù)進行求倒數(shù)</p><p>  UpdateData(FALSE);//數(shù)據(jù)刷新</p><p>  num2=m_num;</p&g

36、t;<p>  if(m_num>=1.7E308||m_num<-1.7E308)</p><p>  GetDlgItem(IDC_xianshi)->SetWindowText("結(jié)果過大,無法顯示");</p><p><b>  } </b></p><p>  else GetDl

37、gItem(IDC_xianshi)->SetWindowText("錯誤,0不能求倒數(shù)");</p><p><b>  m_num=0;</b></p><p><b>  num1=0;</b></p><p><b>  dint=0;</b></p>

38、<p>  ele=FALSE;</p><p>  ele2=TRUE;</p><p>  9、sin鍵的程序:(cos的代碼類似)</p><p>  if(m_num!=0)num2=m_num;</p><p>  m_num=sin(num2*3.1415926/180); //對數(shù)進行正弦</p><

39、;p>  UpdateData(FALSE); //數(shù)據(jù)刷新</p><p>  num2=m_num;</p><p><b>  m_num=0;</b></p><p><b>  num1=0;</b></p><p><b>  dint=0;</b></

40、p><p>  ele=FALSE;</p><p>  ele2=TRUE;</p><p>  10、ln鍵的程序:</p><p>  if(m_num!=0)num2=m_num;</p><p>  if(m_num>0)</p><p><b>  {</b>

41、</p><p>  m_num=log(num2); //對數(shù)進行求ln</p><p>  UpdateData(FALSE); //數(shù)據(jù)刷新</p><p>  num2=m_num;</p><p><b>  }</b></p><p>  else GetDlgItem(IDC_xia

42、nshi)->SetWindowText("錯誤,操作數(shù)需大于0");</p><p><b>  m_num=0;</b></p><p><b>  num1=0;</b></p><p><b>  dint=0;</b></p><p>  e

43、le=FALSE;</p><p>  ele2=TRUE;</p><p><b>  11、=鍵的程序:</b></p><p>  switch (addt) //數(shù)據(jù)判斷</p><p><b>  {</b></p><p>  case 0: //為實現(xiàn)連續(xù)按下兩

44、次等號后能清零</p><p>  UpdateData(FALSE); //數(shù)據(jù)刷新</p><p><b>  break;</b></p><p><b>  case 1:</b></p><p>  m_num=num2+m_num; //兩數(shù)相加</p><p>

45、  UpdateData(FALSE); //數(shù)據(jù)刷新</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  m_num=num2-m_num; //兩數(shù)相減</p><p>  UpdateData(FALSE); //數(shù)據(jù)刷新&

46、lt;/p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  m_num=num2*m_num; //兩數(shù)相乘</p><p>  UpdateData(FALSE); //數(shù)據(jù)刷新</p><p><b>

47、;  break;</b></p><p><b>  case 4:</b></p><p>  if (m_num==0) //在除法中,判斷除數(shù)是否為0</p><p>  GetDlgItem(IDC_xianshi)->SetWindowText("錯誤,0不能作除數(shù)");</p>

48、<p>  else {m_num=num2/m_num;UpdateData(FALSE);}</p><p><b>  break;</b></p><p><b>  case 5:</b></p><p>  m_num=pow(num2,m_num); //取模</p><p>

49、;  UpdateData(FALSE); //數(shù)據(jù)刷新</p><p><b>  break;</b></p><p><b>  }</b></p><p>  if(m_num>=1.7E308||m_num<-1.7E308)</p><p>  GetDlgItem(IDC_

50、xianshi)->SetWindowText("結(jié)果過大,無法顯示");</p><p>  num2=m_num;</p><p><b>  m_num=0;</b></p><p><b>  num1=0;</b></p><p><b>  dint=

51、0;</b></p><p>  ele=FALSE;</p><p><b>  addt=0;</b></p><p>  ele2=TRUE;</p><p>  12、清除鍵Clear的程序:</p><p>  m_num=0; //輸出框清0</p><

52、p>  num1=0; //變量1為0</p><p>  num2=0; //變量2為0</p><p>  dint=0; //小數(shù)無位數(shù)</p><p>  addt=0; //整數(shù)位數(shù)無</p><p>  ele=FALSE; //當前無小數(shù)</p><p>  ele2=TRUE; </p>

53、;<p>  UpdateData(FALSE); //數(shù)據(jù)刷新</p><p>  13、退格鍵Backspace的程序:</p><p>  if (ele==FALSE ) //判斷當前是否有小數(shù)點,如果沒有</p><p>  m_num=m_num/10-fmod(m_num/10,1); //去掉小數(shù)位</p><p&g

54、t;<b>  else</b></p><p><b>  {</b></p><p>  if (ele==TRUE && dint>0) //如果是小數(shù)</p><p><b>  {</b></p><p>  for (i=0;i<dint

55、-1;i++) //移動小數(shù)點</p><p><b>  {</b></p><p>  m_num=m_num*10; //移動至只有一個小數(shù)位</p><p><b>  }</b></p><p>  m_num=m_num-fmod(m_num,1); //去掉小數(shù)位</p>

56、<p>  for (i=0;i<dint-1;i++) //小數(shù)點移至原來位置</p><p><b>  {</b></p><p>  m_num=m_num/10; </p><p><b>  }</b></p><p><b>  }</b><

57、;/p><p>  dint=dint--;</p><p><b>  }</b></p><p>  if (dint==0)ele=FALSE;</p><p>  if(m_num==0)ele2=TRUE;</p><p>  UpdateData(FALSE); //數(shù)據(jù)刷新</p&

58、gt;<p>  14、退出鍵Exit的程序:</p><p><b>  OnOK() ;</b></p><p>  15、關(guān)聯(lián)關(guān)于對話框代碼:</p><p>  CAboutDlg dlgAbout;</p><p>  dlgAbout.DoModal();</p><p&g

59、t;  3.2 盤塊的移動過程</p><p><b>  3.2.1代碼功能</b></p><p>  盤塊的移動實際上是一個出棧和入棧的過程,盤塊出棧后便將原來的地方涂黑,本塊代碼主要是實現(xiàn)顯示漢諾塔的具體移動的演示過程及移動步驟。</p><p>  3.2.2 功能實現(xiàn)代碼</p><p>  void mov

60、e(char x,char y,struct M num[3])/*移動的具體過程*/</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  char num1[3],num2[3];</p><p>  sprintf(num1,"

61、%c",x-32);/*將小寫變成大寫,并轉(zhuǎn)換成字符串輸出*/</p><p>  sprintf(num2,"%c",y-32);</p><p>  setfillstyle(SOLID_FILL,BLACK);/*把原來的地方移去涂黑*/</p><p>  setcolor(YELLOW);</p><p&g

62、t;  outtextxy(20+cx,30+cy,num1);/*輸出移動過程,每次移動后縱坐標加30*/</p><p>  outtextxy(62+cx,30+cy,"-->");</p><p>  outtextxy(130+cx,30+cy,num2);</p><p><b>  cy+=30;</b>

63、</p><p>  if(cy>210) /*橫坐標換行后另起一列*/</p><p>  { cx+=145;</p><p>  cy=0;/*縱坐標重新回到頂部開始顯示下一列的演示步驟 */</p><p><b>  }</b></p><p>  settextstyle(0,

64、0,2);</p><p>  setfillstyle(SOLID_FILL,BLACK);/*把原來的地方移去涂黑*/</p><p>  bar(100+150*(x-97)-(33-3*num[x-97].data[num[x-97].top]),400-20*num</p><p>  [x-97].top-8,100+150*(x-97)+(33-3*&

65、lt;/p><p>  num[x-97].data[num[x-97].top]),400-20*num[x-97].top+8);num[y-97].top++;/*入棧,目標點的top加1*/</p><p>  num[y-97].data[num[y-97].top]=num[x-97].data[num[x-97].top];/*在目標點盤子的代號與源點盤子的代號相同*/</

66、p><p>  num[x-97].top--;/*出棧,原來地方的top減1*/</p><p>  setfillstyle(SOLID_FILL,num[y-97].data[num[y-97].top]+1);/*盤子顏色代碼是棧頂盤子代號加1*/</p><p>  bar(100+150*(y-97)-(33-3*num[y-97].data[num[y-9

67、7].top]),400-20*</p><p>  num[y-97].top-8,100+150*(y-97)+(33-3*num[y-97].data[num[y-97].top]),</p><p>  400-20*num[y-97].top+8);</p><p>  getch( );/*自己按鍵盤來進行手動控制*/</p><p&

68、gt;<b>  3.3 遞歸函數(shù)</b></p><p><b>  3.3.1 流程圖</b></p><p>  根據(jù)概要設(shè)計中的實現(xiàn)遞歸函數(shù)過程的流程圖設(shè)計如圖3.3所示:</p><p>  圖3.1 遞歸函數(shù)</p><p>  3.3.2 功能實現(xiàn)代碼</p><

69、p>  漢諾塔演示程序設(shè)計主要是利用遞歸調(diào)用函數(shù)實現(xiàn)。函數(shù)調(diào)用hanoi( one,two,three,n,num)表示將n個盤塊從A座移到C座的過程,函數(shù)調(diào)用move(one,three,num)是將1個盤塊從A座移到C座的過程。其具體代碼實現(xiàn)如下:</p><p><b>  if(n==1)</b></p><p>  move(one,three,num

70、);/*如果盤子為1,將這個盤子從塔座A移動到塔座C*/</p><p><b>  else</b></p><p><b>  {</b></p><p>  hanoi(one,three,two,n-1,num);/*將塔座A的前n-1個盤子移到塔座B*/</p><p>  move(on

71、e,three,num);/*將塔座A的第n個盤子移到塔座C*/</p><p>  hanoi(two,one,three,n-1,num); /*將塔座B的n-1個盤子移到塔座C*/</p><p><b>  }</b></p><p><b>  4 測試與運行</b></p><p>  

72、由需求分析可知,漢諾塔演示程序設(shè)計是在TC環(huán)境下利用遞歸算法實現(xiàn)大小不同的盤子移動的全過程演示。本程序已調(diào)試成功并實現(xiàn)了其功能,當移動盤塊數(shù)為3時,其運行結(jié)果如下:</p><p>  圖4.1 盤塊移動前</p><p>  圖4.2 盤塊移動中</p><p>  圖4.3 盤塊移動后</p><p><b>  結(jié)束語<

73、/b></p><p>  在這次課程設(shè)計中,我基本上完成了任務(wù),通過遞歸調(diào)用算法實現(xiàn)了漢諾塔的演示過程,以及盤塊移動的具體步驟的顯示,基本上達到了此次課程設(shè)計的要求。但是它的不足也是顯而易見的,在盤塊移動的過程中用方向鍵移動時會一次顯示兩個步驟,這給用戶的實際操作帶來了一定的困難,所以這是值得改進的地方,整個程序的功能有待進一步完善,讓更多的方法能得以實現(xiàn)。</p><p>  雖

74、然在這次的課程設(shè)計中有很多的不足,但是我也有很多的收獲。上網(wǎng)查找資料,找到了一個基于TC對話框而實現(xiàn)的漢諾塔演示程序設(shè)計,于是我們就開始研究它的算法,如何畫三個塔座,如何填充盤塊的顏色,如何實現(xiàn)盤塊的移動。再運用這些知識在TC中實現(xiàn)這次課程設(shè)計所要完成的任務(wù)。這讓我不僅對TC開發(fā)環(huán)境有了更多的認識和了解,對其圖形設(shè)備接口的知識也有了很好的掌握,而且讓我對圖形學的知識有了更好的運用,拓展了對圖形學的知識了解的視野,讓我的理論知識和算法有了

75、更多的實踐。作為一個大的項目,我更體會到了團隊合作精神的重要性,雖然我的設(shè)計是一個人一組的,但我深刻地認識到只有大家一起努力地學習并研究相關(guān)的知識,才能提高做事的效率,也才能更好更快地完成任務(wù)。所以這將在我以后的學習和生活中有很在的引導作用。在以后的學習中,我也將加倍地學習圖形學的有關(guān)知識,以同樣的方法學習其他的知識,不斷地豐富自己,充實自己,提高自己的能力。</p><p><b>  參考文獻<

76、;/b></p><p>  [1] Hearn(赫恩)Baker 著.計算機圖形學== Computer Graphics:C語言版. 清華大學出版社,2004</p><p>  [2] 陳桂芳. 微型計算機圖形學. 北京理工大學出版社. 1989</p><p>  [3] 陳元琰編著.計算機圖形學實用技術(shù).科學出版社.2000</p&

77、gt;<p>  [4] 柳朝陽,周曉平.計算機圖形學:圖形的計算與顯示原理. 西安電子科技大學出版社 .2005</p><p>  [5] 陸潤民.C語言繪圖教程.清華大學出版社.1996</p><p>  [6] 陳錦昌,趙明秀.C語言計算機繪圖教程.華南理工大學出版社.1998.9</p><p>  [7] 楊昂岳.微機實用繪圖方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論