#include #include #include #define F(Y,Z)for(Y=0;Y0)B[i][j]=k;}F(i,256)F(j,256)C[i][j]= i*j/255,D[i][j]=i+j>255?255:i+j;F(i,100){x=i/99.*319;l=x-160;l*=l;F(j,100){y=j /99.*239;m=y-120;m*=m;if(l+m<2924){E[z][0]=E[z+1182][0]=x;E[z++][1]=E[z+1182][ 1]=y;}}}F(l,250){F(i,76800)A[i]=0;x=l*1.68-50;y=290-l*1.36;g=R*z;a=R*10-5;b=R* 10-5;F(k,z){X=E[k+g][0]-x;Y=E[k+g][1]-y;d=X*X+Y*Y-2209;if(d>0){d=sqrt(d);if(d> 255)d=255;p=&B[0][0];if(d>19){t=A+E[k+g][0]+a-16+(E[k+g][1]+b-16)*320;if(t[ 5136]<81){F(i,32){F(j,32)*t=D[*t][C[d][*p]],p++,t++;t+=288;}}}}}write(1,A, 76800);}} /* gcc a.c -lm ./a.out > A ffmpeg -f rawvideo -s 320x240 -r 25 -pix_fmt gray -i A eclipse.mp4 ffplay eclipse.mp4 */