亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ang1.c

?? 3DMEDLIB - 三維醫(yī)學圖像開發(fā)源程序庫及范例
?? C
?? 第 1 頁 / 共 2 頁
字號:
        else if (y2 > 255.0) {
          y2 = linex[i];
          y_fac = 1;
        }
        else if (fabs(y2 - y1) > GRAD_THRESHOLD) {
          if (fabs(linex[i] - y1) < GRAD_THRESHOLD/2. && y2 < linex[i]) {
            y2 = linex[i];
            y_fac = 1;
          }
          else if ((y2 - linex[i]) < GRAD_THRESHOLD/2. && y1 > linex[i]) {
            y1 = linex[i];
            y_fac = 1;
          }
        }
        if (z1 > 255.0) {
          z1 = linex[i];
          z_fac = 1;
        }
        else if (z2 > 255.0) {
          z2 = linex[i];
          z_fac = 1;
        }
        else if (fabs(z2 - z1) > GRAD_THRESHOLD) {
          if (fabs(linex[i] - z1) < GRAD_THRESHOLD/2. && z2 < linex[i]) {
            z2 = linex[i];
            z_fac = 1;
          }
          else if (fabs(z2 - linex[i]) < GRAD_THRESHOLD/2. && z1 < linex[i]) {
            z1 = linex[i];
            z_fac = 1;
          }
        }
        lineg[i] = grad(x1, x2, y1, y2, z1, z2, x_fac, y_fac, z_fac);
        if (dispmode & 8) {
          /* combine with distance */
          lineg[i] = (float) lineg[i] * (1.0 - dist_weight) + 
                     (255.0-linex[i]) * dist_weight;
        }
      }
    }

  if (linex[255] > 255.0)
    lineg[255] = lined[255] = 0;
  else {
    if (dispmode & 1)
      lined[255] = 255.5 - linex[255];
    if (dispmode & 2) {
      lineg[255] = grad(0.0, 2.0, linex[254], linex[255], linex1[255], linex2[255],
                        1, 2, z_fac);
      if (dispmode & 8) {
        lineg[i] = (float) lineg[255] * (1.0 - dist_weight) + 
                   (255.0-linex[255]) * dist_weight;
        }

    }
   }


  if (fg != NULL) fwrite(lineg,sizeof(unsigned char),256,fg);
  if (fd != NULL) fwrite(lined,sizeof(unsigned char),256,fd);

}




doviews()
{
 FILE *fg,*fd,*fx,*fy;
 int z,i,j,k,mid;

 mid=1;

 fd = fg = NULL;
 if(dispmode & 1) {
   if ((fd=fopen(fnd,"wb")) == NULL) {
     printf("Error opening %s\n", fnd);
     exit(1);
   }
   printf("Created %s\n", fnd);
 }
 if (dispmode & 2) {
   if ((fg=fopen(fng,"wb")) == NULL) {
     printf("Error opening %s\n", fng);
     exit(1);
   }
   printf("Created %s\n", fng);
 }
 if ((fx=fopen(xfile,"rb")) == NULL || (fy=fopen(yfile,"rb")) == NULL) {
   printf("Error opening %s or %s\n", xfile, yfile);
   exit(1);
 }

/*read first three lines */
 for(i=0;i<3;i++){
     fseek(fx,(long)FLOAT_LINE*i,SEEK_SET);
     fread(fxbuf[i],1,FLOAT_LINE,fx);
     fseek(fy,(long)FLOAT_LINE*i,SEEK_SET);
     fread(fybuf[i],1,FLOAT_LINE,fy);
 }

 /* do first line (forward differene)*/
 getdistances(fxbuf[0],fybuf[0]);
 doline(fxbuf[0],fxbuf[0],fxbuf[1],fybuf[0],fybuf[0],fybuf[1],1,fg,fd);

 /* do middle lines (central diffrence) */
 for(z=0;z<(NLINES-2);z++){      /*for each slice */
     getdistances(fxbuf[mid],fybuf[mid]);
     doline(fxbuf[mid],fxbuf[prev(mid)],fxbuf[succ(mid)],
            fybuf[mid],fybuf[prev(mid)],fybuf[succ(mid)],2,fg,fd);
     fseek(fx,(long)FLOAT_LINE*i,SEEK_SET);
     fseek(fy,(long)FLOAT_LINE*i,SEEK_SET);
     i++;
     fread(fxbuf[prev(mid)],1,FLOAT_LINE,fx);
     fread(fybuf[prev(mid)],1,FLOAT_LINE,fy);
     mid=succ(mid);
     printf(" line %d\r", z+2);
 }
 printf("\n");

 /* do last line (backward difference)*/
 getdistances(fxbuf[mid],fybuf[mid]);
 doline(fxbuf[mid],fxbuf[prev(mid)],fxbuf[prev(mid)],
            fybuf[mid],fybuf[prev(mid)],fybuf[prev(mid)],1,fg,fd);

 if (fg != NULL) fclose(fg);
 if (fd != NULL) fclose(fd);
 fclose(fx);
 fclose(fy);
}

dostrview()
{
 FILE *fg,*fd,*fx;
 int z,i,j,k,mid;

 mid=1;

 fd = fg = NULL;
 if(dispmode & 1) {
   if ((fd=fopen(fnd,"wb")) == NULL) {
     printf("Error opening %s\n", fnd);
     exit(1);
   }
   printf("Created %s\n", fnd);
 }
 if (dispmode & 2) {
   if ((fg=fopen(fng,"wb")) == NULL) {
     printf("Error opening %s\n", fng);
     exit(1);
   }
   printf("Created %s\n", fng);
 }
 if ((fx=fopen(xfile,"rb")) == NULL) {
   printf("Error opening %s\n", xfile);
   exit(1);
 }

/*read first three lines */
 for(i=0;i<3;i++) {
   fseek(fx,(long)FLOAT_LINE*i,SEEK_SET);
   fread(fxbuf[i],1,FLOAT_LINE,fx);
 }

 /* do first line (forward differene)*/
 dostrline(fxbuf[0], fxbuf[0], fxbuf[1], 1, fg, fd);

 /* do middle lines (central diffrence) */
 for(z=0;z<(NLINES-2);z++){      /*for each slice */
     dostrline(fxbuf[mid],fxbuf[prev(mid)],fxbuf[succ(mid)],2,fg,fd);
     fseek(fx,(long)FLOAT_LINE*i,SEEK_SET);
     i++;
     fread(fxbuf[prev(mid)],1,FLOAT_LINE,fx);
     mid=succ(mid);
     printf(" line %d\r",z+2);
 }
 printf("\n");

 /* do last line (backward difference)*/
 dostrline(fxbuf[mid],fxbuf[prev(mid)],fxbuf[prev(mid)],
           1,fg,fd);

 if (fg != NULL) fclose(fg);
 if (fd != NULL) fclose(fd);
 fclose(fx);
}

getang(ang)
int ang;
{
  sprintf(fng,"gang%03d.out",ang);
  sprintf(fnd,"dang%03d.out",ang);
  if( ( ang > 0) && ( ang < 90) ){
       xdir=forward;
       ydir=backward;
       sprintf(xfile,"%c:ydis2.dat",DR);
       sprintf(yfile,"%c:xdis1.dat",DR);
       xinc=1;
       yinc=-1;
   }
   else if( ( ang > 90) && ( ang < 180) ){
       xdir=forward;
       ydir=backward;
       sprintf(xfile,"%c:xdis1.dat",DR);
       sprintf(yfile,"%c:ydis1.dat",DR);
       xinc=1;
       yinc=-1;
       ang-=90;
   }
   else if( ( ang > 180) && ( ang < 270) ){
       xdir=forward;
       ydir=backward;
       sprintf(xfile,"%c:ydis1.dat",DR);
       sprintf(yfile,"%c:xdis2.dat",DR);
       xinc=1;
       yinc=-1;
       ang-=180;
   }
   else if( ( ang > 270) && ( ang < 360) ){
       xdir=forward;
       ydir=backward;
       sprintf(xfile,"%c:xdis2.dat",DR);
       sprintf(yfile,"%c:ydis2.dat",DR);
       xinc=1;
       yinc=-1;
       ang-=270;
   }
   else if (ang == 0) {
       xdir=forward;
       sprintf(xfile,"%c:ydis2.dat",DR);
       xinc=1;
       cosTheta = 1.0;
       sinTheta = 0.0;
       return(0);
   }
   else if (ang == 90) {
       xdir=forward;
       sprintf(xfile,"%c:xdis1.dat",DR);
       xinc=1;
       cosTheta = 1.0;
       sinTheta = 0.0;
       return(0);
   }
   else if (ang == 180) {
       xdir=forward;
       sprintf(xfile,"%c:ydis1.dat",DR);
       xinc=1;
       cosTheta = 1.0;
       sinTheta = 0.0;
       return(0);
   }
   else if (ang == 270) {
       xdir=forward;
       sprintf(xfile,"%c:xdis2.dat",DR);
       xinc=1;
       cosTheta = 1.0;
       sinTheta = 0.0;
       return(0);
   }
   else {
       printf(" Bad angle\n");
       exit(1);
  }
  IXmax = 127.5 * (1.0 + sqrt(2.0) * sin(((double) ang - 45.0) * PI / 180.0));
  THETA=(double)ang * PI/180;
  sinTheta=sin(THETA);
  cosTheta=cos(THETA);
  tgnTheta=sinTheta/cosTheta;
}
 
/**********************************************************/
/**** MAIN ***** MAIN ***** MAIN ***** MAIN ***** MAIN ****/
/**********************************************************/
/* Command line input:
   ang [-a] [-r] [-g] [-n(d|g)] [-h] [-d]
   -a  : angle (no default)
   -r  : number of output images (default: 1)
   -g  : threshold for gradient (default: 3.0)
   -n  : not making distance (d) or gradient (g) image
   -h  : filling holes
   -d  : weight for distance combined with the gradient
 */

main(argc, argv)
int argc;
char *argv[];

{
  char filname[13];
  FILE *par;
  int ANG;
  int i;

 /* first get some parameters */
 if ((par=fopen("param.dat","r")) == NULL) {
   printf("Error opening PARAM.DAT\n");
   exit(1);
 }
 fscanf(par,"%c %d",&DR,&NLINES);
 fclose(par);
 if (argc != 1) {
   for (argc--; argc > 0; argc--) {
     if (**++argv == '-' || **argv == '/') {
       switch (tolower(*(*argv+1))) {
         case 'a':
           ANG = atoi(*argv+2);
           break;
         case 'r':
           number_pic = atoi(*argv+2);
           break;
         case 'g':
           GRAD_THRESHOLD = atof(*argv+2);
           break;
         case 'd':
           dispmode |= 8;
           if (*(*argv+2) != '\0')
             if ((dist_weight = atof(*argv+2)) < 0.0 || dist_weight > 1.0)
               dist_weight = 0.5;
           break;
         case 'n':
           switch (tolower(*(*argv+2))) {
             case 'd':
               dispmode &= 0xfe;
               break;
             case 'g':
               dispmode &= 0xfd;
               break;
             default:
               usage();
           }
           break;
           case 'h':
             dispmode |= 4;
             break;
         default:
           usage();         
       }
     }
     else
       usage();
   }
 }
 else {
   printf("Enter angle: ");
   scanf("%d", &ANG);
   if (ANG != 0) {
     printf("Enter number of rotations: ");
     scanf("%d", number_pic);
   }
 }

 if (number_pic <= 0) {
   printf("number_pic should be larger than 0!\n");
   exit(1);
 }
 if (GRAD_THRESHOLD <= 1.0) {
   printf("Gradient threshold should be larger than 1.0!\n");
   exit(1);
 }
 while (ANG < 0) ANG = 360 - ANG;
 if (ANG == 0 && number_pic > 1) number_pic = 1;

 for (i = 1; i <= number_pic; i++) {
   getang(ANG*i % 360);
   if (ANG*i % 90 != 0)
     doviews();
   else
     dostrview((ANG % 360) / 90);
 }

}


usage()
{
  printf("%s\n", usestr);
  exit(1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级片在线观看| 成人精品一区二区三区中文字幕| 一区二区三区中文在线观看| 一区二区国产视频| 亚洲国产成人av网| 日韩精品乱码免费| 韩国av一区二区三区| av在线综合网| 日韩一区二区三区在线| 精品久久久久久久久久久久久久久 | 日韩激情视频网站| 极品瑜伽女神91| 在线观看网站黄不卡| 久久品道一品道久久精品| 亚洲永久免费av| 成人自拍视频在线观看| 69堂国产成人免费视频| 中文字幕亚洲欧美在线不卡| 日韩精品高清不卡| 91啪九色porn原创视频在线观看| 7799精品视频| 亚洲人成精品久久久久| 国内精品国产三级国产a久久| 欧美日韩亚洲另类| 亚洲男同性恋视频| 成人黄色777网| 中文字幕不卡一区| 国产伦精品一区二区三区在线观看| 欧美日本一区二区三区四区| 1000精品久久久久久久久| 国产精品正在播放| 中文字幕视频一区二区三区久| 日韩国产高清影视| 精品视频全国免费看| 亚洲一区二区视频| 色婷婷av一区二区三区之一色屋| 亚洲少妇最新在线视频| 成人动漫一区二区在线| 亚洲欧洲制服丝袜| 在线观看亚洲一区| 日本 国产 欧美色综合| 日韩欧美激情一区| 国精产品一区一区三区mba视频 | 捆绑调教美女网站视频一区| 日韩午夜av电影| 大胆亚洲人体视频| 亚洲另类春色国产| 制服.丝袜.亚洲.中文.综合| 狠狠色综合播放一区二区| 久久久久综合网| 色综合久久综合| 婷婷久久综合九色综合伊人色| 欧美一区二区三区免费在线看| 久久99久久精品| 亚洲女与黑人做爰| 日韩精品一区在线观看| 一本大道久久a久久精品综合| 丝袜美腿亚洲色图| 亚洲男人的天堂av| 欧美一区三区二区| 97久久久精品综合88久久| 日本视频一区二区三区| 国产精品免费网站在线观看| 日韩一区二区在线看片| 97se亚洲国产综合自在线不卡| 亚洲123区在线观看| 亚洲欧洲一区二区在线播放| 精品91自产拍在线观看一区| 欧美午夜精品免费| 97久久精品人人澡人人爽| 激情小说欧美图片| 日韩精彩视频在线观看| 亚洲欧美日韩一区二区| 中文字幕的久久| 久久精品亚洲精品国产欧美| 日韩三级电影网址| 91精品国产乱| 亚洲免费观看高清完整版在线 | 久久国产视频网| 亚洲v精品v日韩v欧美v专区| 亚洲一区二区三区在线播放| 一区二区三区成人| 亚洲一区二区三区在线播放| 亚洲午夜电影网| 亚洲成av人片| 毛片一区二区三区| 国产在线播放一区三区四| 免费在线看成人av| 久久99精品久久久| 国产一区91精品张津瑜| 成人国产视频在线观看| 在线观看日韩毛片| 91精品国产综合久久蜜臀| 日韩一卡二卡三卡四卡| 国产欧美精品区一区二区三区| 久久久久久一级片| 一区免费观看视频| 蜜桃视频在线一区| av中文一区二区三区| 欧美日韩成人一区| 久久九九全国免费| 亚洲一区二区三区四区在线观看| 91免费看视频| 日韩欧美中文一区二区| 亚洲欧洲精品一区二区三区不卡 | 欧美熟乱第一页| 精品99999| 五月天激情综合| 本田岬高潮一区二区三区| 日韩亚洲欧美在线| 亚洲女人****多毛耸耸8| 国产精品一区在线观看你懂的| 欧美日韩精品综合在线| 亚洲女同一区二区| 国产成人无遮挡在线视频| 欧美精品aⅴ在线视频| 成人欧美一区二区三区| 蜜臀精品一区二区三区在线观看 | 精品一区二区三区免费视频| 欧美中文字幕亚洲一区二区va在线| 久久精品在线观看| 极品美女销魂一区二区三区免费| 欧美日韩国产小视频在线观看| 亚洲成人综合网站| 91麻豆精品国产91久久久使用方法 | 2019国产精品| 国内精品第一页| 国产午夜精品一区二区| 成人性生交大合| 亚洲专区一二三| 欧美人狂配大交3d怪物一区| 日本欧美久久久久免费播放网| 欧美一级日韩免费不卡| 激情文学综合网| 最近日韩中文字幕| 久久欧美中文字幕| 国产成人精品三级麻豆| 亚洲裸体xxx| 91精品久久久久久蜜臀| 国产成人综合亚洲91猫咪| 亚洲视频在线一区二区| 在线观看亚洲专区| 韩国午夜理伦三级不卡影院| 亚洲精品国产a久久久久久 | 日本aⅴ免费视频一区二区三区| 欧美一区二区三区免费在线看| 成人性生交大片免费看中文 | 中文字幕一区在线观看| 欧美性猛交xxxx黑人交| 国产一区二区三区免费播放| 亚洲一区二区av电影| 精品国产电影一区二区| 欧美日韩一区在线观看| 懂色av一区二区三区蜜臀| 免费成人在线观看| 亚洲欧洲成人精品av97| 精品福利在线导航| 欧美日韩三级一区| 一本一道久久a久久精品综合蜜臀| 日韩精品视频网站| 亚洲一区二区三区四区的| 国产精品国产三级国产有无不卡| 2020国产精品久久精品美国| 91精品国产综合久久久久久久久久 | 亚洲中国最大av网站| 亚洲欧美日韩国产一区二区三区| 中文在线一区二区| 欧美国产欧美综合| 日本一二三不卡| 亚洲欧洲成人自拍| 亚洲免费观看在线观看| 亚洲精选在线视频| 亚洲精品成人天堂一二三| 亚洲高清在线精品| 国内久久婷婷综合| 国产麻豆精品95视频| 国产99久久久国产精品潘金网站| 国产激情精品久久久第一区二区 | 亚洲v精品v日韩v欧美v专区| 日韩制服丝袜先锋影音| 国产一区二区三区免费看| 不卡影院免费观看| 欧洲国产伦久久久久久久| 欧美精品乱码久久久久久按摩| 欧美成人性福生活免费看| 国产色一区二区| 亚洲一区二区中文在线| 麻豆国产91在线播放| 91美女在线视频| 欧美精品aⅴ在线视频| 日韩免费视频一区| 欧美激情一区二区三区不卡| 亚洲天堂久久久久久久| 日韩成人一区二区三区在线观看| 久久99久久久久久久久久久| 99精品久久只有精品| 欧美一区二区三区日韩视频| 最新成人av在线| 国产成人精品影视| 欧美日韩第一区日日骚|