Subversion Repositories wimsdev

Rev

Rev 18523 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 18523 Rev 18527
Line 2070... Line 2070...
2070
      fprintf(tikz_file, "(%i, %i) circle (%i and %i)",
2070
      fprintf(tikz_file, "(%i, %i) circle (%i and %i)",
2071
        intbuf[0],flip(intbuf[1]),(int) rint(r*xscale),(int) rint(r*xscale));
2071
        intbuf[0],flip(intbuf[1]),(int) rint(r*xscale),(int) rint(r*xscale));
2072
    }
2072
    }
2073
  }
2073
  }
2074
  if (tikz_file) fprintf(tikz_file, ";\n");
2074
  if (tikz_file) fprintf(tikz_file, ";\n");
-
 
2075
}
-
 
2076
 
-
 
2077
/* hyperbolic rays from x1,y1 to x2,y2, x1,y1 to x3,y3 in Poincaré disk */
-
 
2078
void obj_hyprays(objparm *pm)
-
 
2079
{
-
 
2080
  double rx,ry,data[4],res[7];
-
 
2081
  int i,*qq=pm->p;
-
 
2082
  int cnt=(pm->pcnt)/2;
-
 
2083
  scale(pm->pd,pm->p,cnt);
-
 
2084
  if (tikz_file)
-
 
2085
    fprintf(tikz_file, "\\draw\[%s]",tikz_options(pm->color[0],pm->fill));
-
 
2086
  for(i=2;i<pm->pcnt;i+=2) {
-
 
2087
    data[0]=pm->pd[0];data[1]=pm->pd[1];data[2]=pm->pd[i];data[3]=pm->pd[i+1];
-
 
2088
    if (hypgeodaux(data,res)) {
-
 
2089
      scale2(res[2],res[2],&rx,&ry);
-
 
2090
      scale(res,qq,1);
-
 
2091
      myGdImageArc(image,qq[0],qq[1],rx,ry,res[3]/DEG,res[4]/DEG,pm->color[0]);
-
 
2092
      if(tikz_file)
-
 
2093
        fprintf(tikz_file,"(%i,%i)arc(%f:%f:%i and %i)",
-
 
2094
          (int)rint(qq[0]+rx*cos(res[3])),
-
 
2095
          flip((int)rint(qq[1]+ry*sin(res[3]))),
-
 
2096
          res[3]/DEG,res[4]/DEG,(int)rint(rx),-(int)rint(ry));
-
 
2097
    }
-
 
2098
    else {
-
 
2099
      scale(data,qq,2);
-
 
2100
      gdImageLine(image,qq[0],qq[1],qq[2],qq[3],pm->color[0]);
-
 
2101
      if (tikz_file)
-
 
2102
        fprintf(tikz_file, "(%i,%i) -- (%i,%i)",
-
 
2103
          pm->p[0],flip(pm->p[1]),pm->p[i],flip(pm->p[i+1]));
-
 
2104
    }
-
 
2105
  }
-
 
2106
  if (tikz_file) fprintf(tikz_file,";\n");
2075
}
2107
}