Разработка информационной системы для деканата высшего учебного заведения

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



pen()) return 0;name[32];

buff;(!file.eof())">_splitpath(FileName.c_str(),NULL,NULL,name,NULL);=name;("СОКО - Чтение ASCII"); buff;(!file.eof())

{>>val;.push_back(val);++;

}.make(size/3);.close();i=0, coord=0;(int j=0;j<size-1;j++)

{(coord)

{0:[i].r.x=buff[j];=1;;1:[i].r.y=buff[j];=2;(merkator) MerToGeo(q[i].r.x,q[i].r.y);;2:[i].r.z=(-minus*2+1)*buff[j];=0;(q[i].r.xmax.z) max.z=q[i].r.z;++;;

}

}("СОКО");1;

}bath::LoadSlg(DoubleTable &table, AnsiString name)

{

#define FEET_TO_M 0.3048c=0,n=1,num;depth=0;("СОКО - Чтение slg");(int i=1;i<table.d.m;i++)

{(table.d[13][i]!=0) c++;

}(c>=table.d.m) return 0;.make(c);=0;i;(i=1;i<table.d.m;i++)

{(table.d[13][i]!=0)

{(c>0)

{[c-1].r.z=-(depth/n)*FEET_TO_M;(q[c-1].r.xmax.z) max.z=q[c-1].r.z;

}[c].r.x=table.d[13][i];[c].r.y=table.d[14][i];[c].t=table.d[21][i];(q[c].r.x,q[c].r.y);=table.d[3][i];=1;++;

}

{++;+=table.d[3][i];

}

}[c-1].r.z=-(depth/n)*FEET_TO_M;(q[c-1].r.xmax.z) max.z=q[c-1].r.z;=name;("СОКО");=1;1;

}bath::MakeEmpty(int length)

{.make(length);1;

}bath::CountTide(cubic_spline &spl)

{(slg)

{((double)startDate==0.0) return;(int i=0;i<q.size();i++)

{(hasTide)[i].tide=spl.f(startDate+q[i].t/86400000.0);[i].tide=0;

}

}

{((double)startDate==0.0 || (double)endDate==0.0) return;current;(int i=0;i<q.size();i++)

{(hasTide)[i].tide=spl.f((double)startDate+((double)endDate-

(double)startDate)*(i/(double)q.size()));[i].tide=0;

}

}

}bath::ReCountMinMax()

{.x=MAX;.x=MIN;.y=MAX;.y=MIN;.z=MAX;.z=MIN;(int i=0;i<q.size();i++)

{(q[i].r.xmax.z) max.z=q[i].r.z;

}=0;

}bath::ReCountMin()

{min=MAX;(int i=0;i<q.size();i++)

{(q[i].r.z<min) min=q[i].r.z;

}min;

}bath::CountNet(int TexNum, point3D Min, point3D Max, double Sclxy,Sclz, double Cfx, double Cfy, double D, int N, double rad,isoHABA, int maskBlurCount, int FigHaba, int IsolineSize, *Isolist, bool VarIso)

{=FigHaba;=Sclxy;=Sclz;=Min;=Max;=D;=TexNum;=isoHABA;=IsolineSize;=Isolist;=VarIso;=cfy*N;=cfx*N;(int i=0;i<q.size();i++)

{[i].m.x=sclxy*(q[i].r.x-min.x-(max.x-min.x)/2);[i].m.y=sclxy*(q[i].r.y-min.y-(max.y-min.y)/2);[i].m.z=sclz*(q[i].r.z+q[i].tide*(hasTide)-min.z-(max.z-min.z)/2);

}.z=sclz*(min.z-min.z-(max.z-min.z)/2);.z=sclz*(max.z-min.z-(max.z-min.z)/2);("СОКО - триангуляция");();("СОКО - триангуляция завершена");=0;(!p.make(width,height)) return 0;("СОКО - создана сетка");(!blurBuff.make(width,height))

{("СОКО - не создана буферная сетка");0;

}

{("СОКО - создана буферная сетка");

}(!MakeArray(height,width)) return 0;("СОКО - создана текстура");ls,hs,ls2,l,mn,lm;(max.y-min.y>max.x-min.x)=SphereLenght(min.x, min.y, min.x, max.y);=SphereLenght(min.x, min.y, max.x, min.y);

int km=0;("СОКО - обнуление сетки");

for(int j=0;j<width;j++)

{(int i=0;i<height;i++)

{[i][j].x=-cfx/2+d*i;[i][j].y=-cfy/2+d*j;[i][j].z=0;[i][j].b=p[i][j].z;[i][j]=p[i][j].z;[i][j].e=0;

}

}ia,ib,ja,jb;ta=0,tb=0,tc=1,td=0;("СОКО - расчёт треугольников");(int k=0;k<tri.size();k++)

{=floor((MinFrom3(q[tri[k].a].m.x,[tri[k].b].m.x,q[tri[k].c].m.x)+cfx/2)/d);=ceil((MaxFrom3(q[tri[k].a].m.x,[tri[k].b].m.x,q[tri[k].c].m.x)+cfx/2)/d);=floor((MinFrom3(q[tri[k].a].m.y,[tri[k].b].m.y,q[tri[k].c].m.y)+cfy/2)/d);=ceil((MaxFrom3(q[tri[k].a].m.y,[tri[k].b].m.y,q[tri[k].c].m.y)+cfy/2)/d);(iawidth) continue;(!CorrectTria(q[tri[k].a].m,[tri[k].b].m,q[tri[k].c].m,rad/lm)) continue;([tri[k].a].m.x,q[tri[k].b].m.x,q[tri[k].c].m.x,[tri[k].a].m.y,q[tri[k].b].m.y,q[tri[k].c].m.y,[tri[k].a].m.z,q[tri[k].b].m.z,q[tri[k].c].m.z,,tb,tc,td);(int j=ja;j<jb;j++)

{(int i=ia;i<ib;i++)

{(InTriangle(q[tri[k].a].m,[tri[k].b].m,q[tri[k].c].m,p[i][j])

=0&&tri[k].a=0 && tri[k].a<q.size()

=0&&tri[k].b=0 && tri[k].b<q.size()

=0&&tri[k].c=0 && tri[k].c<q.size()

)

{[i][j].z=(-ta*p[i][j].x-tb*p[i][j].y-td)/tc;[i][j].b=p[i][j].z;[i][j]=p[i][j].z;[i][j].e=1;

}

}

}

}(maskBlurCount==0)

{("СОКО - расчёт цвета и нормалей");

for(int j=0;j<width;j++)

{(int i=0;i<height;i++)

{(p[i][j].e)

{(i,j);(i,j);

}

}

}

}

{(maskBlurCount);

}=1;=1;("СОКО - наложение текстуры");(texNum,1,0);(maskBlurCount==0)

{(isoHaba,isolist,varIso);();

}("СОКО");1;

}bath::blur(int times)

{(int k=0;k<times;k++)

{(int j=1;j<width-1;j++)

{(int i=1;i<height-1;i++)

{([i-1][j+1].e && p[i ][j+1].e && p[i+1][j+1].e &&[i-1][j ].e && p[i ][j ].e && p[i+1][j ].e &&[i-1][j-1].e && p[i ][j-1].e && p[i+1][j-1].e

)

{[i][j]=(

(0.0625)*p[i-1][j+1].z+(0.125)*[i ][j+1].z+(0.0625)*p[i+1][j+1].z+

(0.125 )*p[i-1][j ].z+(0.25 )*[i ][j ].z+(0.125 )*p[i+1][j ].z+

(0.0625)*p[i-1][j-1].z+(0.125)*[i ][j-1].z+(0.0625)*p[i+1][j-1].z

);

}

{[i][j]=p[i][j].z;

}

}

}(int j=1;j<width-1;j++)

{(int i=1;i<height-1;i++)

{([i-1][j+1].e && p[i ][j+1].e && p[i+1][j+1].e &&[i-1][j ].e && p[i ][j ].e && p[i+1][j ].e &&[i-1][j-1].e && p[i ][j-1].e && p[i+1][j-1].e

)

{[i][j].z=blurBuff[i][j];

(

(0.0625)*blurBuff[i-1][j+1]+(0.125 )*[i ][j+1]+(0.0625)*blurBuff[i+1][j+1]+

(0.125 )*blurBuff[i-1][j ]+(0.25 )*[i ][j ]+(0.125 )*blurBuff[i+1][j ]+

(0.0625)*blurBuff[i-1][j-1]+(0.125 )*[i ][j-1]+(0.0625)*blurBuff[i+1][j-1]

);

}

{[i][j].z=blurBuff[i][j];

}(k==times-1)

{(i,j);(i,j);

}

}("СОКО - размытие "+(FormatFloat(100*(double(k+1)/double(times)),2))+"%");

}("СОКО");

}=1;(texNum,1,0);+=times;(isoHaba,isolist,varIso);();("СОКО");

}bath::deviation()

{;("СОКО - расчёт ошибки");sz=0, srz=0, z;nx,ny;(int i=0;i<q.size();i++)

{=floor((q[i].m.x+cfx/2)/d);=floor((q[i].m.y+cfy/2)/d);(nx>=height-2 || ny>=width-2) continue;(!p[nx][ny].e || !p[nx][ny+1].e ||

!p[nx+1][ny+1].e || !p[nx+1][ny].e) continue;=bilinear(p[nx][ny].z,p[nx][ny+1].z,[nx+1][ny].z,p[nx+1][ny+1].z,p[nx][ny].x,[nx+1][ny].x,p[nx][ny].y,p[nx][ny+1].y,[i].m.x,q[i].m.y);+=fabs(q[i].m.z);+=fabs(z);

}=100*fabs(sz-srz)/srz;

}__fastcall void bath::CountColor(int &i, int &j)

{=p[i][j].z/sclz+min.z+(max.z-min.z)/2;(difference)

{[i*RealWidth+j].r=

*countColor(tmpz,-2,2,0,1,blackAndWhite);[i*RealWidth+j].g=

*countColor(tmpz,-2,2,1,1,blackAndWhite);[i*RealWidth+j].b=

*countColor(tmpz,-2,2,2,1,blackAndWhite);

}

{[i*RealWidth+j].r=

*countColor(tmpz,min.z,max.z,0,0,blackAndWhite);[i*RealWidth+j].g=

*countColor(tmpz,min.z,max.z,1,0,blackAndWhite);[i*RealWidth+j].b=

*countColor(tmpz,min.z,max.z,2,0,blackAndWhite);

}

}bath::ReCountColor()

{("СОКО - расчёт цвета");(int j=1;j<width-1;j++)

{(int i=1;i<height-1;i++)

{(p[i][j].e) CountColor(i,j);

}

}=1;("СОКО - наложение текстуры");

BindTexture(texNum,1,0);("СОКО");

}__fastcall void bath::CountNorm(int &i, int &j)

{(i>0 && j>0)

{([i][j].x, p[i][j].y, p[i][j].z,[i][j-1].x, p[i][j-1].y, p[i][j-1].z,[i-1][j-1].x, p[i-1][j-1].y, p[i-1][j-1].z,[i][j].nx, p[i][j].ny, p[i][j].nz, 0) ;

}

}bath::DefConstr()

{

//rt=1;=1;=1;=0;=1;=1;=0;

//fb=0;=1;=0;=1;=0;

//dif=0;=1;.x=MAX; max.x=MIN; min.y=MAX; max.y=MIN; min.z=MAX; max.z=MIN;=1;=1;=0;=0;=0;=0;=0;=1;=0;=0;=1;

}bath::OneVertex(int &i, int &j)

{

//glColor3d(1,1,1);

//material1.view(1,1,1,0,1,1,1,0,0,0,60);(tex)

{f(((1.*j/width))*wcoeff,((1.*i/height))*hcoeff);

}

{=i*RealWidth+j;_color[0]=imageData[k].r/255.0;_color[1]=im