Skip to content

heres a polygon function  #1

@FOSSBOSS

Description

@FOSSBOSS

//----------------------------------------------------------------
// FUNCTION svg_polygon
//----------------------------------------------------------------
void svg_polygon(svg* psvg, double cx, double cy, float radius, int nsides, char* fill, char* stroke, int strokewidth ){
//cx,cy ==center point
//a constant defined in math.h M_PI==3.141593
float xi, yi=0.0;
if (nsides<3){
printf("Error: Too Few Sides\n");
exit(0);
}

//start building the polygon:
appendstringtosvg(psvg, " <polygon style="fill:");
appendstringtosvg(psvg, fill);
appendstringtosvg(psvg, "; stroke:");
appendstringtosvg(psvg, stroke);
appendstringtosvg(psvg, "; stroke-width:");
appendnumbertosvg(psvg, strokewidth);
appendstringtosvg(psvg, "" points='");

//calc x,y point coordinates. trig functions take radians
for (int i =1; i < nsides+1;  i++){
xi= cx + radius * cos((2*M_PI/nsides) * i);
    appendnumbertosvg(psvg, xi);
    appendstringtosvg(psvg, ", ");
yi= cy + radius * sin((2*M_PI/nsides) *  i);
    appendnumbertosvg(psvg, yi);	
    appendstringtosvg(psvg, " ");	    
	printf("%f , %f\n ", xi, yi);
	}
	printf("\n");
	//close polygon
 appendstringtosvg(psvg, "' />\n");
}

polygons

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions