![計算機圖形學實驗報告_第1頁](http://file4.renrendoc.com/view12/M08/32/15/wKhkGWaw6fKAPYs_AABXp98AEgs958.jpg)
![計算機圖形學實驗報告_第2頁](http://file4.renrendoc.com/view12/M08/32/15/wKhkGWaw6fKAPYs_AABXp98AEgs9582.jpg)
![計算機圖形學實驗報告_第3頁](http://file4.renrendoc.com/view12/M08/32/15/wKhkGWaw6fKAPYs_AABXp98AEgs9583.jpg)
![計算機圖形學實驗報告_第4頁](http://file4.renrendoc.com/view12/M08/32/15/wKhkGWaw6fKAPYs_AABXp98AEgs9584.jpg)
![計算機圖形學實驗報告_第5頁](http://file4.renrendoc.com/view12/M08/32/15/wKhkGWaw6fKAPYs_AABXp98AEgs9585.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
計算機圖形學實驗報告計算機圖形學實驗報告學號:姓名:預定義庫函數(shù)*/voidcirclePoint(intx,inty)/*八分法畫圓程序*/{circle(320+x*20,240+y*20,3);circle(320+y*20,240+x*20,3);circle(320-y*20,240+x*20,3);circle(320-x*20,240+y*20,3);circle(320-x*20,240+y*20,3);circle(320-x*20,240-y*20,3);circle(320-y*20,240-x*20,3);circle(320+y*20,240-x*20,3);circle(320+x*20,240-y*20,3);}voidMidBresenhamcircle(intr)/*中點Bresenham算法畫圓的程序*/{intx,y,d;x=0;y=r;d=1-r;/*計算初始值*/while(x<y){circlePoint(x,y);/*繪制點(x,y)及其在八分圓中的另外7個對稱點*/if(d<0)d+=2*x+3;/*根據(jù)誤差項d的判定,決定非最大位移方向上是走還是不走*/else{d+=2*(x-y)+5;y--;}x++;delay(900000);}/*while*/}main(){inti,j,r,graphmode,graphdriver;detectgraph(&graphdriver,&graphmode);initgraph(&graphdriver,&graphmode,"");printf("中點Bresenhamcircle算法畫圓的程序\n");/*提示信息*/printf("注重|r|<=11");printf("\n輸入半徑值r:");scanf("%d",&r);printf("按任意鍵顯示圖形...");getch();cleardevice();setbkcolor(BLACK);for(i=20;i<=620;i+=20)/*使用雙循環(huán)畫點函數(shù)畫出表格中的縱坐標*/for(j=20;j<=460;j++)putpixel(i,j,2);for(j=20;j<=460;j+=20)/*使用雙循環(huán)畫點函數(shù)畫出表格中的橫坐標*/for(i=20;i<=620;i++)putpixel(i,j,2);outtextxy(320,245,"0");/*原點坐標*/outtextxy(320-5*20,245,"-5");circle(320-5*20,240,2);/*橫坐標值*/outtextxy(320+5*20,245,"5");circle(320+5*20,240,2);outtextxy(320-10*20,245,"-10");circle(320-10*20,240,2);outtextxy(320+10*20,245,"10");circle(320+10*20,240,2);outtextxy(320-15*20,245,"-15");circle(320-15*20,240,2);outtextxy(320+15*20,245,"15");circle(320+15*20,240,2);outtextxy(320,240-5*20,"-5");circle(320,240-5*20,2);/*縱坐標值*/outtextxy(320,240+5*20,"5");circle(320,240+5*20,2);outtextxy(320,240-10*20,"-10");circle(320,240-10*20,2);outtextxy(320,240+10*20,"10");circle(320,240+10*20,2);outtextxy(20,10,"Thecenterofthecircleis(0,0)");/*坐標軸左上角顯示提示信息*/setcolor(RED);/*標記坐標軸*/line(20,240,620,240);outtextxy(320+15*20,230,"X");line(320,20,320,460);outtextxy(330,20,"Y");setcolor(YELLOW);MidBresenhamcircle(r);setcolor(BLUE);/*繪制圓*/circle(320,240,r*20);setcolor(2);getch();closegraph();}Bezier曲線#include<windows.h>#include<stdlib.h>#include<time.h>#defineNUM10LRESULTCALLBACKWinproc(HWND,UINT,WPARAM,LPARAM);intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstanc,LPSTRlpCmdLine,intnShowCmd){MSGmsg;staticTCHARszClassName[]=TEXT;HWNDhwnd;WNDCLASSwc;wc.cbClsExtra=0;wc.cbWndExtra=0;wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);wc.hCursor=LoadCursor(NULL,IDC_ARROW);wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);wc.hInstance=hInstance;wc.lpfnWndProc=Winproc;wc.lpszClassName=szClassName;wc.lpszMenuName=NULL;wc.style=CS_HREDRAW|CS_VREDRAW;if(!RegisterClass(&wc)){MessageBox(NULL);return0;}hwnd=CreateWindow(szClassName,szClassName,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);ShowWindow(hwnd,SW_SHOWMAXIMIZED);UpdateWindow(hwnd);while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}returnmsg.wParam;}LRESULTCALLBACKWinproc(HWNDhwnd,UINTmessage,WPARAMwparam,LPARAMlparam){PAINTSTRUCTps;HDChdc;staticPOINTpt[NUM];TEXTMETRICtm;staticintcxClient,cyClient;HPENhpen;inti,j,k,n,t;switch(message){caseWM_CREATE:staticintcxchar;hdc=GetDC(hwnd);GetTextMetrics(hdc,&tm);cxchar=tm.tmAveCharWidth;ReleaseDC(hwnd,hdc);caseWM_SIZE:cxClient=LOWORD(lparam);cyClient=HIWORD(lparam);return0;caseWM_PAINT:hdc=GetDC(hwnd);srand(time(0));Rectangle(hdc,0,0,cxClient,cyClient);for(i=0;i<500;i++){SelectObject(hdc,GetStockObject(WHITE_PEN));PolyBezier(hdc,pt,NUM);for(j=0;j<NUM;j++){pt[j].x=rand()%cxClient;pt[j].y=rand()%cyClient;}hpen=CreatePen(PS_INSIDEFRAME,3,RGB(rand()%256,rand()%256,rand()%256));DeleteObject(SelectObject(hdc,hpen));PolyBezier(hdc,pt,NUM);for(k=0;k<50000000;k++);}for(i=0;i<100;i++){Ellipse(hdc,rand()%cxClient,rand()%cyClient,rand()%cxClient,rand()%cyClient);}if((n=(n+j)/2)>cxchar*20)n=cxchar*20;SetTextColor(hdc,RGB(rand()%256,rand()%256,rand()%256));TextOut(hdc,n/2,(t+k)/2,);ReleaseDC(hwnd,hdc);DeleteObject(hpen);ValidateRect(hwnd,NULL);return0;caseWM_DESTROY:PostQuitMessage(0);return0;}returnDefWindowProc(hwnd,message,wparam,lparam);}編碼裁剪算法#include<stdio.h>#include<graphics.h>#defineLEFT1#defineRIGHT2#defineBOTTOM4#defineTOP8#defineFALSE0#defineTRUE1voidLine_Clipping(x1,y1,x2,y2,xw_xmin,yw_ymin,xw_xmax,yw_ymax)floatx1,y1,x2,y2,xw_xmin,yw_ymin,xw_xmax,yw_ymax;{intdraw,done;intcode1,code2,code;floatx,y;draw=FALSE;done=FALSE;code1=get_code(x1,y1,xw_xmin,yw_ymin,xw_xmax,yw_ymax);code2=get_code(x2,y2,xw_xmin,yw_ymin,xw_xmax,yw_ymax);while(!done){if(code1==0&&code2==0){draw=TRUE;done=TRUE;}elseif(code1&code2!=0){done=TRUE;}else{if(code1!=0)code=code1;elsecode=code2;if((code&TOP)!=0){y=yw_ymax;x=x1+(y-y1)*(x2-x1)/(y2-y1);}elseif((code&BOTTOM)!=0){y=yw_ymin;x=x1+(y-y1)*(x2-x1)/(y2-y1);}elseif((code&RIGHT)!=0){x=xw_xmax;y=y1+(x-x1)*(y2-y1)/(x2-x1);}elseif((code&LEFT)!=0){x=xw_xmin;y=y1+(x-x1)*(y2-y1)/(x2-x1);}if(code==code1){x1=x;y1=y;code1=get_code(x1,y1,xw_xmin,yw_ymin,xw_xmax,yw_ymax);}else{x2=x;y2=y;code2=get_code(x2,y2,xw_xmin,yw_ymin,xw_xmax,yw_ymax);}}if(draw){s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 杭州浙江杭州拱墅區(qū)大關(guān)上塘街道社區(qū)衛(wèi)生服務中心招聘編外聘用人員筆試歷年參考題庫附帶答案詳解
- 2025年中國不銹鋼絲清潔球市場調(diào)查研究報告
- 2025至2031年中國鍍鎳快速填平劑行業(yè)投資前景及策略咨詢研究報告
- 2025年聚丙烯塑編布項目可行性研究報告
- 2025年著色均勻機項目可行性研究報告
- 2025至2031年中國球形水箱行業(yè)投資前景及策略咨詢研究報告
- 2025年模擬型霍爾傳感器項目可行性研究報告
- 2025年無刷同步發(fā)電機項目可行性研究報告
- 2025至2031年中國安全知識考試系統(tǒng)行業(yè)投資前景及策略咨詢研究報告
- 2025年固定式排球柱項目可行性研究報告
- 建筑施工現(xiàn)場安全警示(案例)
- 起重吊裝工程安全監(jiān)理細則模版(3篇)
- 2025年中考數(shù)學一輪教材復習-第六章 圓 與圓有關(guān)的概念及性質(zhì)
- 《VAVE價值工程》課件
- 四川政采評審專家入庫考試基礎(chǔ)題復習試題及答案(一)
- 分享二手房中介公司的薪酬獎勵制度
- 安徽省2022年中考道德與法治真題試卷(含答案)
- GB 4793-2024測量、控制和實驗室用電氣設(shè)備安全技術(shù)規(guī)范
- 廣電雙向網(wǎng)改造技術(shù)建議書
- 項目人員管理方案
- 重大火災隱患判定方法
評論
0/150
提交評論