#不同步长命中点数
#include <asm-generic/errno.h>
#include <iostream>
#include <math.h>
using namespace std;
double j_to_h(int k,double buchang)
{
double kk =(double)k;
double result = tan(((buchang*kk)/180)*3.141592653);
//cout<<result<<endl;
return result;
}
int main()
{
int a=5;//cloumn
int b=5;//row
for(int k=0;k<=180;k++)//180度/步长
{
if(k>=0 && k<90)
{
for(int x=a/2;x<a;x++)
{
for(int y=0;y<=b/2;y++)
{
double xx_c=(double)(x - a/2);
double yy_c =(double)(b/2-y);
if(fabs(yy_c-xx_c*(j_to_h(k,1.0)))<0.2)
{
cout<<"在射线k "<<k<<" y "<<y<<" x "<<x <<endl;
}
}
}
cout<<endl;
}
if(k>90 && k<=180)
{
for(int x=0;x<=a/2;x++)
{
for(int y=0;y<=b/2;y++)
{
double xx_c=(double)(x - a/2);
double yy_c =(double)(b/2-y);
if(fabs(yy_c-xx_c*(j_to_h(k,1.0)))<0.2)
{
cout<<"在射线k "<<k<<" y "<<y<<" x "<<x <<endl;
}
}
}
cout<<endl;
}
if(k==90)
{
cout<<"90度"<<endl;
for(int y=0;y<=b/2;y++)
{
cout<<"在射线k "<<k<<" y "<<y<<" x "<<a/2<<endl;
}
cout<<endl;
}
}
return 0;
}