freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機圖形學(xué)實驗報告-文庫吧資料

2024-11-04 12:35本頁面
  

【正文】 procedure clip(x1,y1,x2,y2:real)。注:此實驗已有可運行的中點裁剪算法作為參考實例,做實驗時,可將中點裁剪算法替換為你編寫的編碼裁剪算法。return(0)。y=yc+r*sin(tel)。lineto(x,y)。x=xc+r*ct。ct=cos(ta)。for(i=1。y=yc+r*sin(tsl)。ta=tsl。n=(int)((teltsl)/dte+)。dte=deg*。elseif(rdeg=。if(rdeg=。tsl=ts*rad。int x,y,n,I。2)以函數(shù)形式編寫角度 DDA 橢圓弧生成算法,然后在 VCAD 繪圖小系統(tǒng)中的繪圖圓弧子菜單下找到合適的程序修改點,將本實驗要求你編寫的畫圓弧算法插入工程文件中,通過調(diào)試來驗證你編寫的畫圓弧算法的正確性。實驗二園和園弧的繪制算法 通過園和橢圓弧生成算法的上機調(diào)試,掌握:1)VC++圖形函數(shù)的使用方法; 2)圓和橢圓弧的生成原理。面區(qū)填充輸入多邊形的若干頂點后,調(diào)用面區(qū)填充算法對多邊形域的內(nèi)部填充之。2. 實驗內(nèi)容 1)建立菜單交互式繪圖基本環(huán)境的工程文件 Vcad,運行后如圖:2)在繪圖菜單的下拉子菜單下有如下菜單項:直線用彈性線方法輸入直線的起止點后,調(diào)用 bresenham 算法替換原來的 moveto/lineto 算法畫直線圓/圓弧在該菜單選擇后,可分別畫圓或圓弧。2)編程實現(xiàn)① 首先確定多邊形頂點和ET/AET表中結(jié)點的結(jié)構(gòu)② 編寫鏈表相關(guān)操作(如鏈表結(jié)點插入、刪除和排序等)③ 根據(jù)1)中的算法結(jié)合上述已有的鏈表操作函數(shù)實現(xiàn)多邊形區(qū)域掃描線填充的主體功能④ 編寫主函數(shù),測試該算法 通過運用C語言環(huán)境下的圖像顯示設(shè)置,本次實驗我學(xué)會了多邊形區(qū)域掃描線填充的有序邊表算法,設(shè)計相關(guān)的數(shù)據(jù)結(jié)構(gòu)(如鏈表結(jié)構(gòu)、結(jié)點結(jié)構(gòu)等),并將實現(xiàn)的算法應(yīng)用于任意多邊形的填充,為深一步的學(xué)習(xí)做好了鋪墊。}四、實驗結(jié)果圖1 用有序邊表算法生成的多邊形五、總結(jié)與體會實驗步驟1)分析多邊形區(qū)域掃描線填充算法的原理,確定算法流程① 初始化:構(gòu)造邊表,AET表置空② 將第一個不空的ET表中的邊插入AET表③ 由AET表取出交點進行配對(奇偶)獲得填充區(qū)間,依次對這些填充區(qū)間著色④ y=yi+1時,根據(jù)x=xi+1/k修改AET表所有結(jié)點中交點的x坐標。/*設(shè)置graphic模式*/ ScanFill(7,pts,2)。gdrive,amp。pts[6].y=40。pts[5].y=280。pts[4].y=380。pts[3].y=300。pts[2].y=80。pts[1].y=140。pts[0].y=40。/*保存數(shù)組*/ int gdrive=DETECT,gmode。/*更新活化邊表*/ ResortActiveList(active)。/*建立活性邊表*/if(activenext)/*活性邊表不為空*/{ FillScan(scan,active,color)。for(scan=scanmin。/*建立有序邊表*/ active=(Edge *)malloc(sizeof(Edge))。scanedges[scan]next=NULL。i{if(scanmaxif(scanminpts[i].y)scanmin=pts[i].y。int i,scan,scanmax=0,scanmin=WINDOW_HEIGHT。/*把更新后的邊表重新插入邊表中保存 */ p=q。while(p){q=pnext。} }/*對活性邊表結(jié)點重新排序的主體函數(shù)*/ void ResortActiveList(Edge *active)/*活性邊表active中的結(jié)點按x域從小到大重新排序*/ { Edge *q,*p=activenext。q=p。deleteAfter(q)。} /* 刪除 y=ymax 的邊 *//*填充完后,更新活動邊表的主體函數(shù)*/ void UpdateActiveList(int scan,Edge *active)/*刪除掃描線scan完成交點計算的活性邊,同時更新交點x域*/ { Edge *q=active,*p=activenext。qnext=pnext。/*畫出圖形內(nèi)部的點*/ p1=p2next。ix。while(p1){p2=p1next。int i。/*把更新后的邊表重新插入邊表中保存*/p=q。/*查找當前掃描線對應(yīng)的y桶*/ while(p)/*y桶不空*/{q=pnext。} }/*建立活性邊表的主體函數(shù):建立第scan條掃描線的活性邊表*/ void BuildActiveList(int scan,Edge *active,Edge *edges[])/*建立掃描線scan的活性邊表,把活性邊結(jié)點放入掃描線scan的結(jié)點指針數(shù)組 edges[scan]中*/ { Edge *p,*q。/*當前頂點是奇點*/ } yPrev=。if(yNext*/ MakeEdgeRec(v1,v2,yNext(i,t,pts),edge,edges)。iedge=(Edge *)malloc(sizeof(Edge))。=pts[t1].y。int i,y
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1