main() { n = ReadPoly( P ); m = ReadPoly( Q ); OutputPolygons(); ConvexIntersect( P, Q, n, m ); ClosePostscript(); }
int main() { Polynomial poly; poly = (Polynomial) malloc(sizeof(PolyNode)); poly->next = NULL; //InitPoly(poly); ReadPoly(poly); Derivate(poly); WritePoly(poly); }
int main(int argc, char **argv) { TRANS *T; ARGS *A; int Nc=0; int Np=0; int NewT=0, i; POS *P; int *BR, Nbr; if (argc<2) { fprintf(stderr," usage: polytransform <file> [trans 1] [trans 2] ... \n"); return 1; } T=malloc(argc*sizeof(TRANS)); A=malloc(argc*sizeof(ARGS)); i=2; while (i<argc) { if (NewT==0) { if (strncmp(argv[i],"move",4)==0) { T[Nc]=MOVE; Nc++; NewT++; } if (strncmp(argv[i],"rotate",6)==0) { T[Nc]=ROT; Nc++; NewT++; } else if (strncmp(argv[i],"flipx",5)==0) { T[Nc]=FLIPX; Nc++; } else if (strncmp(argv[i],"flipy",5)==0) { T[Nc]=FLIPY; Nc++; } else if (strncmp(argv[i],"scalex",6)==0) { T[Nc]=SCALEX; Nc++; NewT++; } else if (strncmp(argv[i],"scaley",6)==0) { T[Nc]=SCALEY; Nc++; NewT++; } else if (strncmp(argv[i],"scale",5)==0) { T[Nc]=SCALE; Nc++; NewT++; } else if (strncmp(argv[i],"bb_fixR",7)==0) { T[Nc]=BBFIXR; Nc++; NewT++; } else if (strncmp(argv[i],"bb",2)==0) { T[Nc]=BB; Nc++; NewT++; } } else { if (T[Nc-1]==MOVE) { if (NewT==1) { A[Nc-1].P0.x=atof(argv[i]); NewT++; } else { A[Nc-1].P0.y=atof(argv[i]); NewT=0; } } if (T[Nc-1]==ROT) { if (NewT==1) { A[Nc-1].P0.x=atof(argv[i]); NewT++; } else if (NewT==2) { A[Nc-1].P0.y=atof(argv[i]); NewT++; } else if (NewT==3) { A[Nc-1].f=atof(argv[i]); NewT=0; } } if ((T[Nc-1]==SCALE)||(T[Nc-1]==SCALEX)||(T[Nc-1]==SCALEY)) { A[Nc-1].f=atof(argv[i]); NewT=0; } if ((T[Nc-1]==BB)||(T[Nc-1]==BBFIXR)) { if (NewT==1) { A[Nc-1].P0.x=atof(argv[i]); NewT++; } else if (NewT==2) { A[Nc-1].P0.y=atof(argv[i]); NewT++; } else if (NewT==3) { A[Nc-1].P1.x=atof(argv[i]); NewT++; } else { A[Nc-1].P1.y=atof(argv[i]); NewT=0; } } } i++; } P=ReadPoly(argv[1], &BR, &Nbr, &Np); TransForm(P, Np, T, A, Nc); PrintPoly(P, Np, BR, Nbr); fprintf(stderr,"Poly Length: %e\n", LengthPoly(P, Np, BR, Nbr)); free(T); free(A); free(P); free(BR); }