欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

计算机图形学(二)输出图元_20_章节总结_程序展示_饼图

程序员文章站 2022-06-08 17:52:03
饼图用来给出整体中各部分的分布比例。使用中点圆算法子程序来构造一个饼图。例子中的值用于确定扇形的数量和大小, 该程序的输出请参见图3.69。 #include #include...
饼图用来给出整体中各部分的分布比例。使用中点圆算法子程序来构造一个饼图。例子中的值用于确定扇形的数量和大小,

该程序的输出请参见图3.69。

计算机图形学(二)输出图元_20_章节总结_程序展示_饼图

#include 
#include 
#include 


const gldouble twopi = 6.283185;


class scrpt {
public:
    glint x, y;
};


glsizei winwidth = 400, winheight = 300; // initial display window size.


void init (void)
{
    glclearcolor (1.0, 1.0, 1.0, 1.0);
	glmatrixmode (gl_projection);
	gluortho2d (0.0, 200.0, 0.0, 150.0);
}
    .
	.                                    // midpoint routines for displaying a circle.
	.
	
void piechart (void)
{
    scrpt circctr, piept;
	glint radius = winwidth / 4;         // circle radius.
	
	gldouble sliceangle, previoussliceangle = 0.0;
	
	glint k, nslices = 12;               // number of slices.
	glfloat datavalues[12] = {10.0, 7.0, 13.0, 5.0, 13.0, 14.0, 3.0, 16.0, 5.0, 3.0, 17.0, 8.0};
	glfloat datasum = 0.0;
	circctr.x = winwidth / 2;            // circle center position.
	circctr.y = winheight / 2;
	circlemidpoint (circctr, radius);    // call a midpoint circle-plot routine.
	for (k = 0; k