⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bezier2.txt

📁 图形学BEZIER曲线代码
💻 TXT
字号:
void CMyFrame::DrawBezier1(int n,CPaintDC* dc,int xun)
{
	int i,j;
	POINT pe[100];
	for(i=0;i<(ptNum-1)/n;i++)
	{
		for(j=0;j<n+1;j++)
		{ 
            pe[j]=pt[i*n+j];    
		}
       DrawBezier(n,dc,pe,xun);
	}
}
void CMyFrame::DrawBezier(int n,CPaintDC* dc,POINT* pa,int xun)
{   
	 POINT pg[100];
     POINT pl[100];
    
        int t=1;
        int s=n;
        int ps=n+1;
        pg[0].x=pa[0].x;
        pg[0].y=pa[0].y;
        pl[s].x=pa[ps-1].x;
        pl[s].y=pa[ps-1].y;     
        for(int  i=0;i<n;i++)
		{    
           for(int j=0;j<ps-1;j++)
		   {  
 	          pa[j].x=(pa[j].x+pa[j+1].x)/2;
              pa[j].y=(pa[j].y+pa[j+1].y)/2;
		   }
       
           pg[t].x=pa[0].x;
           pg[t].y=pa[0].y;
           t++;       
           s--;
           ps--; 
           pl[s].x=pa[ps-1].x;
           pl[s].y=pa[ps-1].y;
             
         
		}
        xun--;
        if(xun==0)
        {
		  for(i=1;i<n;i++)
		  {
            dc->MoveTo(pg[i-1]);			
            dc->LineTo(pg[i]);
            dc->MoveTo(pl[i-1]);			
            dc->LineTo(pl[i]);
		  }
        } 
       else
	   {
	     
         DrawBezier(n,dc,pg,xun );
      			
         
         DrawBezier( n,dc,pl,xun);
	   }
	 
       
	     
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -