Advertisement
SUGIYAMA

☆distance

Nov 20th, 2013
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.21 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <time.h>
  4. #include<string.h>
  5. #include <stdlib.h>
  6.  
  7. int main(int argc, char *argv[])
  8. {
  9.     float x1,y1,z1,x2,y2,z2,x3,y3,z3,distance1,distance2,distance3,sum;
  10.     float *tin_points;
  11.     float *file1;
  12.     int num_tris;
  13.     int i;
  14.  
  15.     FILE *fpi1,*fpo;
  16.    
  17.     if(argc!=4)
  18.     {
  19.         fprintf(stderr,"Usage: %s (1)CSV1File",argv[0]);
  20.  
  21.         return 0;
  22.     }
  23.  
  24.      if((fpi1=fopen(argv[1],"rb"))==NULL)
  25.         {
  26.                 printf("The file can't be opened. The program is exit.\n");
  27.  
  28.                 return 0;
  29.         }
  30.     num_tris=atoi(argv[3]);
  31.     file1= (float *)malloc(num_tris*3*3*sizeof(float));
  32.  
  33.     //fread((float *)file1,sizeof(float),num_tris*3,fpi1);
  34.     // while (fscanf(fpi1,"%f %f %f %f %f %f %f %f %f",&x1, &y1, &z1, &x2, &y2, &z2, &x3, &y3, &z3)!= EOF)
  35.    
  36.  
  37.     if((fpo=fopen(argv[2],"wb"))==NULL)
  38.  
  39.         {  
  40.  
  41.         fprintf(stderr,"output file open error\n");
  42.         exit(1);
  43.  
  44.         }
  45.  
  46.     fread((float *)file1,sizeof(float),num_tris*3*3,fpi1);
  47.  
  48.     for(i=0;i<num_tris;i++)
  49.     {
  50.  
  51.     //fread((float *)file1,sizeof(float),num_tris*3,fpo);
  52.     x1=file1[3*i*3];
  53.     y1=file1[3*i*3+1];
  54.     z1=file1[3*i*3+2];
  55.     x2=file1[(3*i+1)*3];
  56.     y2=file1[(3*i+1)*3+1];
  57.     z2=file1[(3*i+1)*3+2];
  58.     x3=file1[(3*i+2)*3];
  59.     y3=file1[(3*i+2)*3+1];
  60.     z3=file1[(3*i+2)*3+2];
  61.    
  62.     /*printf("x1=%f\n",x1);
  63.     printf("x2=%f\n",x2);
  64.     printf("x3=%f\n",x3);
  65.     printf("y1=%f\n",y1);
  66.     printf("y2=%f\n",y2);
  67.     printf("y3=%f\n",y3);
  68.     printf("z1=%f\n",z1);
  69.     printf("z2=%f\n",z2);
  70.     printf("z3=%f\n",z3);*/
  71.    
  72.     //scanf ("%f %f %f %f %f %f %f %f %f" ,&x1,&y1,&z1,&x2,&y2,&z2,&x3,&y3,&z3);
  73.     distance1 = sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1))+((z2-z1)*(z2-z1)));
  74.     distance2 = sqrt(((x2-x3)*(x2-x3))+((y2-y3)*(y2-y3))+((z2-z3)*(z2-z3)));
  75.     distance3 = sqrt(((x3-x1)*(x3-x1))+((y3-y1)*(y3-y1))+((z3-z1)*(z3-z1)));
  76.     //sum=distance1+distance2+distance3;
  77.     //printf ("%f %f %f %f",distance1,distance2,distance3,sum);
  78.    
  79.    
  80.  
  81.     fwrite(&distance1,sizeof(float),1,fpo);
  82.     //printf("%f\n",distance1);
  83.     fwrite(&distance2,sizeof(float),1,fpo);
  84.     //printf("%f\n",distance2);
  85.     fwrite(&distance3,sizeof(float),1,fpo);
  86.     //printf("%f\n",distance3);
  87.     //fwrite(&sum,sizeof(float),1,fpo);
  88.  
  89.  
  90.     }
  91.  
  92.     return 0;
  93.     free(file1);
  94.     fclose(fpi1);
  95.     fclose(fpo);
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement