版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 計算機科學系實驗報告 (首頁)課程名稱 計算機圖形學 班 級 實驗名稱 計算機圖形學綜合實驗 (二) 指引教師 姓名 學 號 日 期 11月16日 一、實驗目旳1畫餅分圖2區(qū)域著色二、實驗設備與環(huán)境Windows XP操作系統(tǒng)、Visual C+6.0三、算法闡明、程序清單及運營成果畫餅分圖算法闡明用到了畫圓和直線旳算法思想,將兩者結合起來,分別畫一種圓和兩條直線,長度為半徑。畫餅分圖源程序:void CMyView:OnPiegraph() / TODO: Add your command handler code here/先畫一種圓 CDC* pDC=GetDC(); int xc=2
2、00,yc=200,radius=100,c=RGB(0,0,255); int x1=0,y1=radius,p=3-2*radius; while(x1SetPixel(xc+x1,yc+y1,c); pDC-SetPixel(xc-x1,yc+y1,c); pDC-SetPixel(xc+x1,yc-y1,c); pDC-SetPixel(xc-x1,yc-y1,c); pDC-SetPixel(xc+y1,yc+x1,c); pDC-SetPixel(xc-y1,yc+x1,c); pDC-SetPixel(xc+y1,yc-x1,c); pDC-SetPixel(xc-y1,yc-x
3、1,c); if(pSetPixel(xc+x1,yc+y1,c); pDC-SetPixel(xc-x1,yc+y1,c); pDC-SetPixel(xc+x1,yc-y1,c); pDC-SetPixel(xc-x1,yc-y1,c); pDC-SetPixel(xc+y1,yc+x1,c); pDC-SetPixel(xc-y1,yc+x1,c); pDC-SetPixel(xc+y1,yc-x1,c); pDC-SetPixel(xc-y1,yc-x1,c);/畫一條直線,作為圓旳半徑 int x3=100,y3=200,x4=200,y4=300;int i,s1,s2,inter
4、change;int x,y,deltax,deltay,f,temp;x=200;y=200;deltax=abs(x4-x3); deltay=abs(y4-y3); if(x4-x3=0)s1=1;else s1=1;if(y4-y3=0)s2=-1;else s2=-1;if(deltaydeltax)temp=deltax;deltax=deltay;deltay=temp;interchange=1;else interchange=0;f=2*deltay-deltax; pDC-SetPixel(x,y,c);for(i=1;i=0)if(interchange=1)x+=s1
5、; else y+=s2; pDC-SetPixel(x,y,c);f=f-2*deltax;else if(interchange=1)y+=s2;else x+=s1;f=f+2*deltay;/再畫一條半徑 int x5=100,y5=300,x6=200,y6=400;int j,s3,s4,interchange1;x=200;y=200;deltax=abs(x6-x5); deltay=abs(y6-y5); if(x6-x5=0)s3=1;else s3=-1;if(y6-y5=0)s4=1;else s4=-1;if(deltaydeltax)temp=deltax;delt
6、ax=deltay;deltay=temp;interchange=1;else interchange=0;f=2*deltay-deltax; pDC-SetPixel(x,y,c);for(i=1;i=0)if(interchange=1)x+=s3; else y+=s4; pDC-SetPixel(x,y,c);f=f-2*deltax;else if(interchange=1)y+=s4;else x+=s3;f=f+2*deltay;實驗成果抓圖區(qū)域著色算法闡明1、 在VC中用MFC生成一種窗口。2、在該窗口旳CSaoMiaoView類中添加ScanLineFill4()函數。
7、 3、在OnDraw函數中調用ScanLineFill4 ()函數。4、調試運營。編程與代碼oldcolor = RGB(0,255,0),newcolor = RGB(255,0,0);void CSaoMiaoView:ScanLineFill4(int x,int y,COLORREF oldcolor,COLORREF newcolor)int xl,xr,i;CClientDC dc(this);HDC hdc = dc.GetSafeHdc();bool spanNeedFill;Seed pt;m_LinkStack.SetEmpty();pt.x = x;pt.y = y;m_
8、LinkStack.push(pt);while(!m_LinkStack.IsEmpty()m_LinkStack.pop(pt);y = pt.y;x = pt.x;while(:GetPixel(hdc,x,y) = oldcolor)SetPixel(hdc,x,y,newcolor);x+;xr = x-1;x = pt.x-1;while(:GetPixel(hdc,x,y) = oldcolor)SetPixel(hdc,x,y,newcolor);x-;xl = x+1;x = xl;y = y+1;while(xxr)spanNeedFill=FALSE;while(:Get
9、Pixel(hdc,x,y)=oldcolor)spanNeedFill = TRUE;x+;if(spanNeedFill)pt.x = x-1;pt.y = y;m_LinkStack.push(pt);spanNeedFill = FALSE;while(:GetPixel(hdc,x,y)!=oldcolor & xxr)x+;x = xl;y = y-2;while(xxr)spanNeedFill =FALSE;while(:GetPixel(hdc,x,y)=oldcolor)spanNeedFill = TRUE;x+;if(spanNeedFill)pt.x = x-1;pt.y = y;m_LinkStack.push(pt);spanNeedFill = FALSE;while(:GetPixel(hdc,x,y)!
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川電影電視學院《大學生創(chuàng)新創(chuàng)業(yè)教育》2021-2022學年第一學期期末試卷
- 石河子大學《智能檢測與計算機控制技術》2021-2022學年期末試卷
- 正念減壓治療與腫瘤康復
- 石河子大學《外科學二見習》2021-2022學年第一學期期末試卷
- 石河子大學《軟件測試技術》2022-2023學年期末試卷
- 石河子大學《化工原理實驗二》2023-2024學年第一學期期末試卷
- 沈陽理工大學《智能產品交互設計》2023-2024學年第一學期期末試卷
- 沈陽理工大學《現代控制理論》2022-2023學年期末試卷
- 沈陽理工大學《計算機圖形學》2023-2024學年第一學期期末試卷
- 沈陽理工大學《工業(yè)機器人》2023-2024學年第一學期期末試卷
- 充電樁整體解決方案PPT幻燈片(PPT 27頁)
- 物業(yè)服務集團全員品質督導策劃方案
- 建筑設計基礎(ppt)課件
- 半導體芯片項目商業(yè)計劃書范文參考
- 邯鄲市政府采購辦事指南
- 城市初期雨水污染治理
- 在護林員培訓班上的講話護林員會議講話稿.doc
- 材料科學基礎-第7章-三元相圖
- (完整word版)高頻變壓器的設計
- 公路工程2018各項費用的計算程序及計算方式
- 戶外急救知識(必備)
評論
0/150
提交評論