我正做一个绘图的刷子的题,但在画图的部分不太会作,希望帮个忙,谢谢。
这是圆形的刷子的画图部分的代码(circleBrush):
int size=pDoc->getSize();
int div=12;
float radius=size/2.0;
float Ax,Ay;
glBegin(GL_POLYGON);
SetColor( source );
for(int i=0;i<div;i++){
Ax=target.x+radius*cos(2*PI*i/div);
Ay=target.y+radius*sin(2*PI*i/div);
glVertex2f(Ax,Ay);
}
glEnd();
这是散点的刷子的画图部分的代码(ScatteredPointBrush):
int size=pDoc->getSize();
int Ax,Ay;
glPointSize(1.0);
glBegin( GL_POINTS );
SetColor( source );
for(int i=0;i<10;i++){
Ax=target.x-size/2+rand()%size;
Ay=target.y-size/2+rand()%size;
glVertex2i( Ax, Ay );
}
glEnd();
我要做一个散圆的画图部分的代码,但我做的不对,希望哪位朋友告诉我哪里不对,能不能把正确的写出来。
这是我写的(ScatteredCircleBrush):
int size=pDoc->getSize();
int div=12;
float radius=size/2.0;
float Ax,Ay,Bx,By;
glPointSize(1.0);
glBegin( GL_POLYGON );
SetColor( source );
for(int i=0;i<10;i++){
for(int j=0;j<div;j++){
Ax=target.x+radius*cos(2*PI*j/div);
Ay=target.y+radius*sin(2*PI*j/div);
}
Bx=Ax-size/2+rand()%size;
By=Ay-size/2+rand()%size;
glVertex2f(Bx,By);
}
glEnd();
不知道哪里不对,希望告知。谢谢。