七七国产精品_看黄色录像一级片_久久频这里精品99香蕉久_午夜福利无码在线观看视频,跪求黄色网址,2020无码日韩,亚洲高清老牛影视,最新人妻,久久三级片免费视频,91黄片视频,国产95精品视频

海天精工機(jī)床有限公司 海天精工博客

研究和實(shí)現(xiàn)Visual C++的動(dòng)態(tài)控制

動(dòng)點(diǎn)坐標(biāo)X是Y坐標(biāo)對(duì)t的積分,, 而Y是X坐標(biāo)對(duì)t的積分,。因此,, 由ΔX的疊加產(chǎn)生的溢出去進(jìn)給Y,; 由ΔY的疊加產(chǎn)生的溢出去進(jìn)給X。圓弧積分器的原理圖如圖2所示[1],。求積前,, Xi,、 Yi中預(yù)置圓弧的起點(diǎn)坐標(biāo)X0,、 Y0,, 并作左移規(guī)格化處理。疊加過(guò)程中,, 每進(jìn)給一步動(dòng)點(diǎn)坐標(biāo)應(yīng)作相應(yīng)的修改, 即: Xi±1→Xi或Yi±1→Yi,。修改中是作加l還是減1的運(yùn)算應(yīng)當(dāng)視圓弧所處的象限而定,。具體方法是, 設(shè)置JVx,、 JVy為積分函數(shù)寄存器,, JRx、 JRy為余數(shù)寄存器,。在起點(diǎn)時(shí), JVx和Jvy分別寄存起始坐標(biāo)X0,、 Y0,,對(duì)于第一象限逆圓來(lái)說(shuō),, 在插補(bǔ)過(guò)程中,, JRy每溢出一個(gè)Δy脈沖,, JVx應(yīng)該加1; JRx每溢出一個(gè)Δx脈沖,, JVy應(yīng)減1。對(duì)于其他各種情況的DDA法圓弧插補(bǔ),, JVx和Jvy是加1還是減1,, 取決于動(dòng)點(diǎn)坐標(biāo)所在象限及圓弧走向[2],。對(duì)不同象限坐標(biāo)修正見(jiàn)表1。2.2 程序?qū)崿F(xiàn)給類CCircleView增加數(shù)據(jù)成員:CPoint endPoint; //起點(diǎn) (點(diǎn)1)CPoint startPoint; //終點(diǎn) (點(diǎn)2)int m[20000][2]; //存儲(chǔ)動(dòng)點(diǎn)坐標(biāo)的二維數(shù)組給類CCircleView增加成員函數(shù):void change(int x, int *a); //為二維數(shù)組賦值在change()成員函數(shù)中設(shè)置部分變量:int sumx; //x坐標(biāo)累加器int sumy; //y坐標(biāo)累加器int q; //累加器容量int flag; //是否溢出標(biāo)志int xi,yi; //x,y坐標(biāo)值以下給出部分程序代碼,。用DDA法實(shí)現(xiàn)圓的插補(bǔ)—確定各動(dòng)點(diǎn)的坐標(biāo), 并存儲(chǔ)在二維數(shù)組m[][]中:void CCircleView::change(int x, int *a){ int sumx, sumy, q, j, flag;int xi,yi;sumx=0; sumy=0; j=1;xi=x; yi=0;q=4096;for(j=1; j<=q; j++){ m[j][0]=0; m[j][1]=0; }j=1;while(xi>0){ sumx+=xi; sumy+=yi; flag=0;if(sumx>=q){ yi++; m[j][1]=yi; m[j][0]=xi; sumx-=q; flag=1; }if(sumy>=q){ xi--; m[j][0]=xi; m[j][1]=yi; sumy-=q; flag=1; }if(flag==1) j++;}*a=j-1;}鼠標(biāo)左鍵拖動(dòng)后松開(kāi)觸發(fā)OnLButtonUp成員函數(shù)代碼[3]:void CCircleView::OnLButtonUp(UINT nFlags, CPoint point){ blsDown=false;CClientDC dc(this);dc.Ellipse(&rect);int center_x=(startPoint.x+endPoint.x)/2, center_y=(startPoint.y+endPoint.y)/2;double r=sqrt(abs((endPoint.x-startPoint.x)*(endPoint.x-startPoint.x))+abs((endPoint.y-startPoint.y)*(endPoint.y-startPoint.y)))/2;int x0=center_x+0, y0=center_y+0;int *num,b,i; num=&b;change(r,num);m[0][0]=r; m[0][1]=0; CClientDC dc1(this);CPen pen(PS_SOLID,1,RGB(0,255,255));dc1.SelectObject(&pen);dc1.MoveTo(x0+r,y0) ;//第一象限for(i=1;i<=*num;i++){ dc1.LineTo(x0+m[i][0],y0+m[i][1]);for(long j=0; j<=999999; j++);}//第二象限for(i=*num; i>=0; i--){ dc1.LineTo(x0-m[i][0],y0+m[i][1]);for(long j=0; j<=999999; j++);}//第三象限for(i=0; i<=*num; i++){ dc1.LineTo(x0-m[i][0],y0-m[i][1]);for(long j=0; j<=999999; j++);}//第四象限for(i=*num; i>=0; i--){ dc1.LineTo(x0+m[i][0],y0-m[i][1]);for(long j=0; j<=999999; j++);}CView::OnLButtonUp(nFlags, point);}2.3 系統(tǒng)運(yùn)行的結(jié)果系統(tǒng)采用Visual C++6.0可視化開(kāi)發(fā)工具編程,, 實(shí)現(xiàn)了直線和圓弧插補(bǔ)算法。圓弧插補(bǔ)算法編譯運(yùn)行后的仿真結(jié)果如圖4所示,。本文由海天精工文章整理發(fā)表,,文章來(lái)自網(wǎng)絡(luò)僅參考學(xué)習(xí),,本站不承擔(dān)任何法律責(zé)任。http://sweetieny.cn/
留言列表
發(fā)表留言
◎歡迎參與討論,,請(qǐng)?jiān)谶@里發(fā)表您的看法,、交流您的觀點(diǎn),。