#ifdef/**/N
/*2008[*/#include<stdlib.h>
/*<>koko_ni_mebuke,<>*/#include<sys/time.h>
/*]>+++++inochi_no_hana++++<[*/#include<GL/glut.h>
typedef double _;typedef int s;typedef void r;struct{_ K
,S,h,I,R,A,H,i,M,E,_;}W[512],*X;_ m,n[1024][3],o[1024][3],R,
KO,NA,TA,q,p,j,i,h,g,f,e,d,c,b,a,P,O,NM,M,L,K,J,I,H,G,F,E,D,C,B,A,
Q;s Y,Z,k,l;_ T(_ y){return y*((rand()&32767)-16384)/16384.0;}_ U(_
w,_ x,_ y,_ z){e=w+j*(x-w);f=x+j*(y-x);g=y+j*(z-y);h=e+j*(f-e);i=f+j*(
g-f);return(i-h)*j+h;}r zx(r){ glutPostRedisplay();}r xz(){struct timeval
t;gettimeofday(&t,NULL);m=1e-6* t.tv_usec+t.tv_sec;}GLfloat S[4][4]={{1,1
,1,1},{0,1,-1,0},{0,-1,1,0},{1, .9,.9,.8}};r zy(unsigned char z,s y,s x){
glFlush();exit(0);}r xy(s y,s x ){zx();}_ V(_ w,_ x,_ y,_ z){e=j*j;f=1-j;
g=f*f;h=2*j*f;return 3*(-g*w+(g -h)*x+(h-e)*y+e*z);}r yx(_ t,_ u,_ v,_ w,
_ x,_ y){a=u*y-x*v;b=w*v-t*y;c= t*x-w*u;}r yz(r){xz();if(m>=q){p=q;q=m+.5
+(rand()&32767)/8192.;A=D;E=H;I =L;M=P;B=D+D-C;F=H+H-G;J=L+L-K;NM=P+P-O;D=
T(128);H=T(128);L=T(128);C=D+0.4 *T(128);G =H+0.4*T(128);K=L+0.4*T(128);P=T(
Q);O=P+0.4*T(Q);}for(j=(m-p)/(q- p);Z-Y&&m -W[Z].S>=30;Z=(Z+1)&511);if(m-W[Y]
.S>=0.06){Y=(Y+1)&0777;W[Y].S=m;} X=&W[Y];X ->K=U(A,B,C,D);X->M=U(E,F,G,H);X->E
=U(I,J,K,L);;X-> R=V(A, B,C,D);X ->h=V(E,F ,G,H);X->I=V(I,J,K,L);if((d=X->R*X->
R+X->h*X->h+X->I *X->I) >R){X->R= X->R/( d =sqrt(d));X->h/=d;X->I/=d;};yx(X->R,X
->h,X->I,0,0,1);X ->i=1 ;X->A =X ->H=0 ; if ((d=a*a+b*b+c*c)>R){;d=sqrt(d);X->
i=a/d;X->A=b/d;X-> H=c/d ;}a=X -> R;b= X -> h;c=X->I;e=sin(X->_=U(M,NM,O,P));f
=cos(X->_);g=1-f;KO =a*b; NA=a * c;h = X->i;TA=b*c;i=X->A;d=X->H;X->i=(g*a
*a+f)*h+(g*KO-c*e)*i +(g *NA + b*e ) *d;X->A=(g*KO+c*e)*h+(g*b*b+f)*i+(g*
TA-a*e)*d;X->H=(g*NA- b* e)* h+(g*TA+a*e)*i+(g*c*c+f)*d;n[k=Y*2][0
]=W[Y].K-16*W[Y].i ;n[ k] [1] =W[Y].M-16*W[Y].A;n[k][2]=W[Y].E-16*W[Y].H;n[l=k+1
][0]=W[Y].K+16*W[Y]. i; n [ l] [1 ]=W[Y].M+16*W[Y]. A;n[l][2]=W[Y].E+16*W[
Y].H;yx(W[Y].R,W[Y].h ,W[Y].I,W[Y ].i,W[Y].A,W[Y].H );o[l][0]=o[k][0]=a;o[
l][1]=o[k][1]=b;o[l][2]= o[ k][2]=c;N(glDraw, Buf,fer)(GL_BACK);N(gl,C
,lear)(GL_COLOR_BUFFER_BIT);b=c =1;k=glutGet(GLUT_WINDOW_WIDTH);l=glutGet(
GLUT_WINDOW_HEIGHT);d=(k>l)?(b=k/(_)l): (c=l/(_)k);glViewport(0,0,k,l);glMatrixMode(
GL_PROJECTION);glLoadIdentity();glFrustum( -b,b,-c,c,10,12800);gluLookAt(1280*sin(fmod(m*
0.1,2*Q)),0,1280*cos (fmod(m*0.1,2*Q)),0,0,0 ,0,1, 0);glLightfv(GL_LIGHT0,GL_DIFFUSE,*S);N(gl
,Light,fv)(GL_LIGHT0,GL_SPECULAR,*S);glLightfv( N(GL ,_LIGH,T0),GL_POSITION,S[1]);glLightfv(N(G,
L_LIGHT, 0),GL_SPOT_DIRECTION,S[2]);glLightModeli( N( G,L_LIGHT_MODEL_T,WO_SIDE),GL_TRUE);N(glMate,
rialf, v)(GL_FRONT_AND_BACK,GL_SPECULAR,S[3]) ;glMaterialf(GL_FRONT_AND_BACK,N(GL_ ,SHININ,ESS)
,4.); glEnable(GL_COLOR_MATERIAL);N(glColorMa, teria, l)( GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE);N(glMa,
trix ,Mode)(GL_MODELVIEW);{glEnableClientState(N( GL_ ,VE ,RTEX_ARRAY));glLoadIdentity();} ; glEnableClientState(
GL_NORMAL_ARRAY);glVertexPointer(3,GL_DOUBLE,0,n); N(g, lNormal,Pointer)(GL_DOUBLE,0,o);N( glBe,
gi,n)(GL_QUAD_STRIP);glColor4d(a=0,0,0,0.);for(k=Z;k !=Y;k =(k+1)&511){glArrayElement(k*2);N(gl ,Arra
,yElement)(k*2+1);if(a<0.8)glColor4d(1,0.53,0.67,a+=0.04);}glEnd ();N(glut,Swap,Buffers)();glFlush();}s main(s y
,char**x){glutInit(&y,x);{N(glut,Init,DisplayMode)(GLUT_RGBA|N(GL, UT_DO,UBLE));};{y=N(gl, utCreateW, indow)(
"Konata");};{N(glut,Set,Window)(y);};{Q=atan2(0,-1);};{R=N(0.0,000, 01);};{N(glu ,tDisplay, Func) (yz );};{
N(glut,Idle,Func)(zx);};{N(glut,Reshape,Func)(xy);} ;{N(glutKeyboard, Fun,c)/*]>[- <[ ++*/( zy) ;}; {N(
gl,Ena,ble)(N(GL_L,IGHT,ING));};{N(gl,Ena, ble)(N(G ,L_LIG ,HT0)); } ;N(glBlend, F, unc)( N( GL ,_
,SRC_ALPHA),GL_ONE);glEnable(GL_NORMALIZE); N(glSha ,deMod ,el)( N (G ,L_SMOOT, H) );
glEnable(GL_BLEND);xz();srand((s)m);q=W[0]. S=m-1;C= T( 128 ) ; G=T(128); K
=T(128);O=T(Q);D=H=L=M=Y =Z=0;glutMainLoop( );N( r , etu,rn)0 ;}
/*]>>> +++++++++>++++*/ #else /*++ ++< <+< ]> >----.++> */
/**/# include<stdio.h> /*-- - .<+++.++ */
#/*+*/ include/*.< +<[ */ <math.h>
#define N(x,y ,z) x ##y##z
#include /* ]> . */\
__FILE__
#endif
|