Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //*********************************************
- //Psuedo Color
- //***********************************************//
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- int main(int argc, char *argv[])
- {
- //Decralation of variables
- FILE *fpi,*fpo;
- float x,y,z,nx,ny,nz;
- float fnx,fny,fnz;
- float pr,pg,pb;
- unsigned char upr,upg,upb;
- float wr,wg,wb;
- float fr,fg,fb;
- unsigned char ar,ag,ab;
- unsigned char unx,uny,unz,r,g,b;
- char point[4];
- //Open CSV file
- if((fpi=fopen(argv[1],"r"))==NULL)
- {
- printf ("The file can't be opened. The program is exit.\n");
- return 0;
- }
- //Open VTK file for save
- if((fpo=fopen(argv[2],"w"))==NULL)
- {
- printf("The file can't be opened. The program is exit.\n");
- return 0;
- }
- //Initialization of paramaters
- ar=255;
- ag=255;
- ab=255;
- wr=2*3.14/255;
- wg=3*3.14/255;
- wb=4*3.14/255;
- fr=0;
- fg=0.3*3.14;
- fb=0.6*3.14;
- while(fscanf(fpi,"%f %f %f %d %d %d %f %f %f",&x,&y,&z,&r,&g,&b,&nx,&ny,&nz)!=EOF)
- {
- //printf("%f %f %f\n",x,y,z);
- fnx=(nx+1)*255/2;
- fny=(ny+1)*255/2;
- fnz=(nz+1)*255/2;
- unx=(unsigned char)fnx;
- uny=(unsigned char)fny;
- unz=(unsigned char)fnz;
- //printf("wr=%f\n",sin(wr*unx+fr));
- //printf("wg=%f\n",sin(wg*uny+fg));
- //printf("wb=%f\n",sin(wb*unz+fb));
- //printf("wrabs=%f\n",fabs(sin(wr*unx+fr)));
- //printf("wgabs=%f\n",fabs(sin(wg*uny+fg)));
- //printf("wbabs=%f\n",fabs(sin(wb*unz+fb)));
- pr=ar*fabs(sin(wr*unx+fr));
- pg=ag*fabs(sin(wg*uny+fg));
- pb=ab*fabs(sin(wb*unz+fb));
- upr=(char)pr;
- upg=(char)pg;
- upb=(char)pb;
- //printf("%f %f %f %f %f %f\n",x,y,z,pr,pg,pb);
- //printf("%d %d %d\n",upr,upg,upb);
- fprintf(fpo,"%f %f %f %d %d %d\n",x,y,z,upr,upg,upb);
- }
- fclose(fpi);
- fclose(fpo);
- }
Advertisement
Add Comment
Please, Sign In to add comment