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, |
1941 | int i,*qq=pm->p; |
- | 1942 | int cnt=3; |
|
- | 1943 | scale(pm->pd,pm->p,cnt); |
|
1942 | for(i=0; i< |
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< |
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 | { |