Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:难道不是直接带公式计算? sample都过不了In Reply To:难道不是直接带公式计算? sample都过不了 Posted by:javaman at 2005-06-12 14:56:20 > #include <iostream> > #include <cstdio> > #include <cmath> > using namespace std; > > double x[52][52],y[52][52],z[52][52]; > > > int main() { > double ax,bx,cx,dx,ex,fx,gx,hx,ix,ay,by,cy,dy,ey,fy,gy,hy,iy,az,bz,cz,dz,ez,fz,gz,hz,iz; > double vtx,vty,vtz,hu,vu,hfx,hfy,hfz,vfx,vfy,vfz,htx,hty,htz,nx,ny,nz,factor; > int xx,yy,i,j; > > while (scanf("%d%d",&xx,&yy)!=EOF) { > for (j=0;j<yy;++j) > for (i=0;i<xx;++i) > scanf("%lf%lf%lf",&x[i][j],&y[i][j],&z[i][j]); > printf("%d\n",xx*yy); > xx-=3; > yy-=3; > for (j=0;j<=yy;++j) > for (i=0;i<=xx;++i) { > ax=x[i][j]; > bx=x[i][j+1]; > cx=x[i][j+2]; > dx=x[i+1][j]; > ex=x[i+1][j+1]; > fx=x[i+1][j+2]; > gx=x[i+2][j]; > hx=x[i+2][j+1]; > ix=x[i+2][j+2]; > > ay=y[i][j]; > by=y[i][j+1]; > cy=y[i][j+2]; > dy=y[i+1][j]; > ey=y[i+1][j+1]; > fy=y[i+1][j+2]; > gy=y[i+2][j]; > hy=y[i+2][j+1]; > iy=y[i+2][j+2]; > > > az=z[i][j]; > bz=z[i][j+1]; > cz=z[i][j+2]; > dz=z[i+1][j]; > ez=z[i+1][j+1]; > fz=z[i+1][j+2]; > gz=z[i+2][j]; > hz=z[i+2][j+1]; > iz=z[i+2][j+2]; > > hu=(ex-dx)*(dx-fx)+(ey-dy)*(dy-fy)+(ez-dz)*(dz-fz); > vu=(ex-bx)*(bx-hx)+(ey-by)*(by-hy)+(ez-bz)*(bz-hz); > > hfx=(dy-fy)*(ez-dz)-(dz-fz)*(ey-dy); > hfy=(dz-fz)*(ex-dx)-(dx-fx)*(ez-dz); > hfz=(dx-fx)*(ey-dy)-(dy-fy)*(ex-dx); > > vfx=(by-hy)*(ez-bz)-(bz-hz)*(ey-by); > vfy=(bz-hz)*(ex-bx)-(bx-hx)*(ez-bz); > vfz=(bx-hx)*(ey-by)-(by-hy)*(ex-bx); > > vtx=(hy-ey)*vfz-(hz-ez)*vfy-(hx-ex)*vu; > vty=(hz-ez)*vfx-(hx-ex)*vfz-(hy-ey)*vu; > vtz=(hx-ex)*vfz-(hy-ey)*vfx-(hz-ez)*vu; > > htx=(fy-ey)*hfz-(fz-ez)*hfy-(fx-ex)*hu; > hty=(fz-ez)*hfx-(fx-ex)*hfz-(fy-ey)*hu; > htz=(fx-ex)*hfy-(fy-ey)*hfx-(fz-ez)*hu; > > nx=hty*vtz-htz*vty; > ny=htz*vtx-htx*vtz; > nz=htx*vty-hty*vtx; > > factor=1./sqrt(nx*nx+ny*ny+nz*nz); > > printf("%.4f %.4f %.4f\n",nx*factor,ny*factor,nz*factor); > } > } > return 0; > } > > > > > > > > > 这行有问题 vtz=(hx-ex)*vfz-(hy-ey)*vfx-(hz-ez)*vu; Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator