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

📄 luxdlg.cpp

📁 本程序是一个伽玛相机的线性测试校正演示程序
💻 CPP
📖 第 1 页 / 共 3 页
字号:
             lx=1/(((x-225)+50)*((x-225)+50)+((y-225)+0*43.30127)*((y-225)+0*43.30127)+0.9525*0.9525*100);
			  xp=xp+lx*3.636;yp=yp+lx*4.444;ya=ya+lx*4.444;xa=xa+lx*5.714;break;
		  case 31:
            lx=1/(((x-225)+0)*((x-225)+0)+((y-225)+0*43.30127)*((y-225)+0*43.30127)+0.9525*0.9525*100);
			  xp=xp+lx*4.444;yp=yp+lx*4.444;ya=ya+lx*4.444;xa=xa+lx*4.444;break;
		  case 32:
           lx=1/(((x-225)-50)*((x-225)-50)+((y-225)+0*43.30127)*((y-225)+0*43.30127)+0.9525*0.9525*100);
			  xp=xp+lx*5.714;yp=yp+lx*4.444;ya=ya+lx*4.444;xa=xa+lx*3.636;break;
		   case 33:
            lx=1/(((x-225)-100)*((x-225)-100)+((y-225)+0*43.30127)*((y-225)+0*43.30127)+0.9525*0.9525*100);
			  xa=xa+lx*3.077;xp=xp+lx*8.0;yp=yp+lx*4.444;ya=ya+lx*4.444;break;
           case 34:
            lx=1/(((x-225)-150)*((x-225)-150)+((y-225)+0*43.30127)*((y-225)+0*43.30127)+0.9525*0.9525*100);
			  xa=xa+lx*2.667;xp=xp+lx*13.33;yp=yp+lx*4.444;ya=ya+lx*4.444;break;
          case 35:
            lx=1/(((x-225)-200)*((x-225)-200)+((y-225)+0*43.30127)*((y-225)+0*43.30127)+0.9525*0.9525*100);
			  xa=xa+lx*2.21;xp=xp+lx*13.33;ya=ya+lx*4.444;yp=yp+lx*4.444;break;
		  case 36:
           lx=1/(((x-225)+175)*((x-225)+175)+((y-225)-1*43.30127)*((y-225)-1*43.30127)+0.9525*0.9525*100);
			  xa=xa+lx*13.33;xp=xp+lx*2.353;yp=yp+lx*3.636;ya=ya+lx*5.714;break;
		 case 37:
           lx=1/(((x-225)+125)*((x-225)+125)+((y-225)-1*43.30127)*((y-225)-1*43.30127)+0.9525*0.9525*100);
			  xa=xa+lx*10.0;xp=xp+lx*2.857;yp=yp+lx*3.636;ya=ya+lx*5.714;break;
         case 38:
           lx=1/(((x-225)+75)*((x-225)+75)+((y-225)-1*43.30127)*((y-225)-1*43.30127)+0.9525*0.9525*100);
			  xa=xa+lx*6.667;xp=xp+lx*3.333;yp=yp+lx*3.636;ya=ya+lx*5.714;break;
        case 39:
           lx=1/(((x-225)+25)*((x-225)+25)+((y-225)-1*43.30127)*((y-225)-1*43.30127)+0.9525*0.9525*100);
			  xa=xa+lx*5.0;xp=xp+lx*4.0;yp=yp+lx*3.636;ya=ya+lx*5.714;break;
        case 40:
           lx=1/(((x-225)-25)*((x-225)-25)+((y-225)-1*43.30127)*((y-225)-1*43.30127)+0.9525*0.9525*100);
			  xa=xa+lx*4.0;xp=xp+lx*5.0;yp=yp+lx*3.636;ya=ya+lx*5.714;break;
        case 41:
           lx=1/(((x-225)-75)*((x-225)-75)+((y-225)-1*43.30127)*((y-225)-1*43.30127)+0.9525*0.9525*100);
			  xa=xa+lx*3.333;xp=xp+lx*6.667;yp=yp+lx*3.636;ya=ya+lx*5.714;break;
        case 42:
           lx=1/(((x-225)-125)*((x-225)-125)+((y-225)-1*43.30127)*((y-225)-1*43.30127)+0.9525*0.9525*100);
			  xa=xa+lx*2.857;xp=xp+lx*10.0;yp=yp+lx*3.636;ya=ya+lx*5.714;break;
          case 43:
            lx=1/(((x-225)-175)*((x-225)-175)+((y-225)-1*43.30127)*((y-225)-1*43.30127)+0.9525*0.9525*100);
			  xa=xa+lx*2.353;xp=xp+lx*13.33;yp=yp+lx*3.636;ya=ya+lx*5.714;break;
		  case 44:
            lx=1/(((x-225)+150)*((x-225)+150)+((y-225)-2*43.30127)*((y-225)-2*43.30127)+0.9525*0.9525*100);
			  xa=xa+lx*13.33;yp=yp+lx*3.01;ya=ya+lx*8.0;xp=xp+lx*2.61;break;
		  case 45:
            lx=1/(((x-225)+100)*((x-225)+100)+((y-225)-2*43.30127)*((y-225)-2*43.30127)+0.9525*0.9525*100);
			 yp=yp+lx*3.077;ya=ya+lx*8.0;xp=xp+lx*3.077;xa=xa+lx*8.0;break;
		  case 46:
             lx=1/(((x-225)+50)*((x-225)+50)+((y-225)-2*43.30127)*((y-225)-2*43.30127)+0.9525*0.9525*100);
			 yp=yp+lx*3.077;ya=ya+lx*8.0;xa=xa+lx*5.714;xp=xp+lx*3.636;break;
          case 47:
             lx=1/(((x-225)-0)*((x-225)-0)+((y-225)-2*43.30127)*((y-225)-2*43.30127)+0.9525*0.9525*100);
			 yp=yp+lx*3.077;ya=ya+lx*8.0;xa=xa+lx*4.444;xp=xp+lx*4.444;break;
          case 48:
             lx=1/(((x-225)-50)*((x-225)-50)+((y-225)-2*43.30127)*((y-225)-2*43.30127)+0.9525*0.9525*100);
			 yp=yp+lx*3.077;ya=ya+lx*8.0;xa=xa+lx*3.636;xp=xp+lx*5.714;break;
		  case 49:
             lx=1/(((x-225)-100)*((x-225)-100)+((y-225)-2*43.30127)*((y-225)-2*43.30127)+0.9525*0.9525*100);
			 yp=yp+lx*3.077;ya=ya+lx*8.0;xa=xa+lx*3.077;xp=xp+lx*8.0;break;
		  case 50:
              lx=1/(((x-225)-150)*((x-225)-150)+((y-225)-2*43.30127)*((y-225)-2*43.30127)+0.9525*0.9525*100);
			 yp=yp+lx*3.01;xa=xa+lx*2.61;ya=ya+lx*8.0;xp=xp+lx*13.33;break;
		  case 51:
               lx=1/(((x-225)+125)*((x-225)+125)+((y-225)-3*43.30127)*((y-225)-3*43.30127)+0.9525*0.9525*100);
			 yp=yp+lx*2.667;ya=ya+lx*13.33;xa=xa+lx*10.0;xp=xp+lx*2.857;break;
          case 52:
               lx=1/(((x-225)+75)*((x-225)+75)+((y-225)-3*43.30127)*((y-225)-3*43.30127)+0.9525*0.9525*100);
			 yp=yp+lx*2.667;ya=ya+lx*13.33;xa=xa+lx*6.667;xp=xp+lx*3.333;break;
		  case 53:
               lx=1/(((x-225)+25)*((x-225)+25)+((y-225)-3*43.30127)*((y-225)-3*43.30127)+0.9525*0.9525*100);
			    xa=xa+lx*5.0;yp=yp+lx*2.667;ya=ya+lx*13.33;xp=xp+lx*4.0;break;
		 case 54:
               lx=1/(((x-225)-25)*((x-225)-25)+((y-225)-3*43.30127)*((y-225)-3*43.30127)+0.9525*0.9525*100);
			 xa=xa+lx*4.0;yp=yp+lx*2.667;ya=ya+lx*13.33;xp=xp+lx*5.0;break;
         case 55:
               lx=1/(((x-225)-75)*((x-225)-75)+((y-225)-3*43.30127)*((y-225)-3*43.30127)+0.9525*0.9525*100);
			 xa=xa+lx*3.333;yp=yp+lx*2.667;ya=ya+lx*13.33;xp=xp+lx*6.667;break;
         case 56:
               lx=1/(((x-225)-125)*((x-225)-125)+((y-225)-3*43.30127)*((y-225)-3*43.30127)+0.9525*0.9525*100);
			 xa=xa+lx*2.857;yp=yp+lx*2.667;ya=ya+lx*13.33;xp=xp+lx*10.0;break;
         case 57:
               lx=1/(((x-225)+100)*((x-225)+100)+((y-225)-4*43.30127)*((y-225)-4*43.30127)+0.9525*0.9525*100);
			 xa=xa+lx*8.0;xp=xp+lx*3.16;yp=yp+lx*2.21;ya=ya+lx*13.33;break;
          case 58:
               lx=1/(((x-225)+50)*((x-225)+50)+((y-225)-4*43.30127)*((y-225)-4*43.30127)+0.9525*0.9525*100);
			 xa=xa+lx*5.714;xp=xp+lx*3.636;yp=yp+lx*2.105;ya=ya+lx*13.33;break;
           case 59:
               lx=1/(((x-225)+0)*((x-225)+0)+((y-225)-4*43.30127)*((y-225)-4*43.30127)+0.9525*0.9525*100);
			 xa=xa+lx*4.444;xp=xp+lx*4.444;yp=yp+lx*2.105;ya=ya+lx*15.4;break;
           case 60:
               lx=1/(((x-225)-50)*((x-225)-50)+((y-225)-4*43.30127)*((y-225)-4*43.30127)+0.9525*0.9525*100);
			 xa=xa+lx*3.636;xp=xp+lx*5.714;yp=yp+lx*2.105;ya=ya+lx*13.33;break;
           case 61:
               lx=1/(((x-225)-100)*((x-225)-100)+((y-225)-4*43.30127)*((y-225)-4*43.30127)+0.9525*0.9525*100);
			 xa=xa+lx*3.16;xp=xp+lx*8.0;yp=yp+lx*2.21;ya=ya+lx*13.33;break;

		  }
	  }
	 
	  tx=127-(((xa-xp)/(xa+xp+ya+yp))*25/0.0477515)*127/225;
	  ty=127+(((ya-yp)/(xa+xp+ya+yp))*25/0.0554455)*127/225;
	 
	  if(tx>=0&&tx<256&&ty>=0&&ty<256)
	  {
		  *(TEMP1+int(tx)+int(ty)*256)=*(TEMP1+int(tx)+int(ty)*256)+*(TEMP+i);
	  }
	}
	}
for(int i1=0;i1<256;i1++)
{
for(i=0;i<256;i++)
{
	int tempx,tempy;
	tempx=(i-127);
	tempy=(i1-127);
	if((abs(tempx)*abs(tempx)+abs(tempy)*abs(tempy))>93*93)
	{
          *(TEMP1+256*i1+i)=0;
	}
}
}
for(i=0;i<256*256-1;i++)
{
if(*(TEMP1+i)>=max)
{
	max=*(TEMP1+i);
}
}
for(i=0;i<256*256-1;i++)
{
if(*(TEMP1+i)>(max*70/300))
{
*(m_pImageShowData+i)=255;

}
else
	*(m_pImageShowData+i)=(BYTE)((255*(*(TEMP1+i)))/(max*70/300));

}
//int temp3[256];
//for(i=0;i<)
/*for(i=0;i<256;i++)
{
	for(int)
}*/
//delete TEMP;
GetDlgItem(IDC_BUTTON3)->EnableWindow(true);
Invalidate();
UpdateWindow();
}

void CLUXDlg::OnButton2() 
{
	// TODO: Add your control notification handler code here
	int max=0;
    int i,x1,y1;
	int TEMP[65536];
	int TEMP1[65536];
	float temp,tx,ty,z=0;
	float x,y,lx,xa,xp,ya,yp;
	for(i=0;i<=65536-1;i++)
	{
     
       *(TEMP+i)=0;
	 
	}
for(i=0;i<=65535;i++)
	{
     
       *(TEMP1+i)=0;
	 
	}
    for(int j=0;j<4;j++)
	{
	srand( (unsigned)time( NULL ) ); 
    for( i = 0;   i <1000000;i++ )
	{
        
		*(TEMP+(rand()%(128*128-1))+128*128*j)=*(TEMP+(rand()%(128*128-1))+128*128*j)+1;
        
    }
	}
   for(i=0;i<256;i++)
   {
	   for(int t1=0;t1<256;t1++)
	   {
		   if(((127-(t1))%30)!=0)
		   {
			   *(TEMP+t1+256*i)=0;
		   }
	   }
   }
 for(i=0;i<256;i++)
 {
	 for(int i4=0;i4<256;i4++)
	 {
		 float x1,y1;
		 x1=(i4+0.0)*450/255;y1=(i+0.0)*450/255;
		 if(((x1-225)*(x1-225)+(y1-225)*(y1-225))>(180*180))
		 {
           *(TEMP+i*256+i4)=0;
		 }
	 }
 }
for(int i1=0;i1<256;i1++)
{
for(i=0;i<256;i++)
{
	int tempx,tempy;
	tempx=(i-127);
	tempy=(i1-127);
	if((abs(tempx)*abs(tempx)+abs(tempy)*abs(tempy))>93*93)
	{
          *(TEMP+256*i1+i)=0;
	}
}
}
for(i=0;i<256*256-1;i++)
{
if(*(TEMP+i)>=max)
{
	max=*(TEMP+i);
}
}
for(i=0;i<256*256-1;i++)
{

	*(m_pImageShowData+i)=(BYTE)((255*(*(TEMP+i)))/(max));//(BYTE)((255*(*(TEMP1+i)))/(max*70/300));

}



Invalidate();
UpdateWindow();	
}

void CLUXDlg::OnButton3() 
{
	// TODO: Add your control notification handler code here
	int max=0;
    int i,x1,y1;
	int TEMP[65536];
	int TEMP1[65536];
	float temp,tx,ty,z=0;
	float x,y,lx,xa,xp,ya,yp;
	for(i=0;i<=65536-1;i++)
	{
     
       *(TEMP+i)=0;
	 
	}
for(i=0;i<=65535;i++)
	{
     
       *(TEMP1+i)=0;
	 
	}
    for(int j=0;j<4;j++)
	{
	srand( (unsigned)time( NULL ) ); 
    for( i = 0;   i <1000000;i++ )
	{
        
		*(TEMP+(rand()%(128*128-1))+128*128*j)=*(TEMP+(rand()%(128*128-1))+128*128*j)+1;
        
    }
	}
/*   for(i=0;i<256;i++)
   {
	   for(int t1=0;t1<256;t1++)
	   {
		   if(((127-(t1))%30)!=0)
		   {
			   *(TEMP+t1+256*i)=0;
		   }
	   }
   }*/
 for(i=0;i<256;i++)
 {
	 for(int i4=0;i4<256;i4++)
	 {
		 float x1,y1;
		 x1=(i4+0.0)*450/255;y1=(i+0.0)*450/255;
		 if(((x1-225)*(x1-225)+(y1-225)*(y1-225))>(180*180))
		 {
           *(TEMP+i*256+i4)=0;
		 }
	 }
 }
for(int i1=0;i1<256;i1++)
{
for(i=0;i<256;i++)
{
	int tempx,tempy;
	tempx=(i-127);
	tempy=(i1-127);
	if((abs(tempx)*abs(tempx)+abs(tempy)*abs(tempy))>93*93)
	{
          *(TEMP+256*i1+i)=0;
	}
}
}
for(i=0;i<256*256-1;i++)
{
if(*(TEMP+i)>=max)
{
	max=*(TEMP+i);
}
}
for(i=0;i<256*256-1;i++)
{

	*(m_pImageShowData+i)=(BYTE)((255*(*(TEMP+i)))/(max));//(BYTE)((255*(*(TEMP1+i)))/(max*70/300));

}



Invalidate();
UpdateWindow();	
}

⌨️ 快捷键说明

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