Subversion Repositories wimsdev

Rev

Rev 18516 | Rev 18521 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 18516 Rev 18518
Line 1936... Line 1936...
1936
 
1936
 
1937
/* hyperbolic triangle, can be filled */
1937
/* hyperbolic triangle, can be filled */
1938
void obj_hyptriangle(objparm *pm)
1938
void obj_hyptriangle(objparm *pm)
1939
{
1939
{
1940
  double rx,ry,data[8],res[7];
1940
  double rx,ry,data[8],res[7];
1941
  int i, *qq=pm->p;
1941
  int i,*qq=pm->p;
-
 
1942
  int cnt=3;
-
 
1943
  scale(pm->pd,pm->p,cnt);
1942
  for(i=0; i<8; i++) data[i]=pm->pd[i%6];
1944
  for(i=0; i<pm->pcnt+2; i++) data[i]=pm->pd[i%pm->pcnt];
1943
  if (tikz_file) fprintf(tikz_file, "\\draw[%s]",tikz_options(pm->color[0],0));
1945
  if (tikz_file) fprintf(tikz_file, "\\draw[%s]",tikz_options(pm->color[0],0));
1944
  for(i=0; i<3; i++){
1946
  for(i=0; i<cnt; i++){
1945
    if(hypgeodaux(data+2*i,res)){
1947
    if(hypgeodaux(data+2*i,res)){
1946
      scale2(res[2],res[2],&rx,&ry);
1948
      scale2(res[2],res[2],&rx,&ry);
1947
      scale(res,qq,1);
1949
      scale(res,qq,1);
1948
      myGdImageArc(image,qq[0],qq[1],rx,ry,res[3]/DEG,res[4]/DEG,pm->color[0]);
1950
      myGdImageArc(image,qq[0],qq[1],rx,ry,res[3]/DEG,res[4]/DEG,pm->color[0]);
1949
      if(tikz_file)
1951
      if(tikz_file)
Line 1956... Line 1958...
1956
      scale(data+2*i,qq,2);
1958
      scale(data+2*i,qq,2);
1957
      gdImageLine(image,qq[0],qq[1],qq[2],qq[3],pm->color[0]);
1959
      gdImageLine(image,qq[0],qq[1],qq[2],qq[3],pm->color[0]);
1958
      if(tikz_file) fprintf(tikz_file,"(%i,%i)--(%i,%i)",
1960
      if(tikz_file) fprintf(tikz_file,"(%i,%i)--(%i,%i)",
1959
            qq[0],flip(qq[1]),qq[2],flip(qq[3]));
1961
            qq[0],flip(qq[1]),qq[2],flip(qq[3]));
1960
    }
1962
    }
-
 
1963
  }
1961
    if(tikz_file) fprintf(tikz_file,";\n");
1964
    if(tikz_file) fprintf(tikz_file,";\n");
1962
    if(pm->fill){
1965
    if(pm->fill){
1963
      data[0]=res[5];
1966
      data[0]=res[5];
1964
      data[1]=res[6];
1967
      data[1]=res[6];
1965
      hypgeodaux(data,res);
1968
      hypgeodaux(data,res);
1966
      scale(res+5,qq,1);
1969
      scale(res+5,qq,1);
1967
      //patchgdImageFill(image,qq[0],qq[1],pm->color[0]);
1970
      //patchgdImageFill(image,qq[0],qq[1],pm->color[0]);
1968
      patchgdImageFillToBorder(image,qq[0],qq[1],pm->color[0],pm->color[0]);
1971
      patchgdImageFillToBorder(image,qq[0],qq[1],pm->color[0],pm->color[0]);
1969
      if(tikz_file) tikz_fill(qq[0],qq[1],1,1,0,pm->color[0],grid);
1972
      if(tikz_file) tikz_fill(qq[0],qq[1],1,1,0,pm->color[0],grid);
1970
    }
1973
    }
1971
  }
-
 
1972
}
1974
}
1973
 
1975
 
1974
/* hyperbolic polygon */
1976
/* hyperbolic polygon */
1975
void obj_hyppoly(objparm *pm)
1977
void obj_hyppoly(objparm *pm)
1976
{
1978
{