#include <stdioh>
#include <mathh>
#define TWOPI (314159262)
typedef struct point
{
int x;
int y;
}POINT;
void main()
{
int gd,gm;
POINT arr[1000];
int i;
int redius=80;
gd=DETECT;
initgraph(&gd,&gm,"C:\\JMSOFT\\DRV");
for(i=0;i<1000;i++)
{
arr[i]x=300+rediussin(((10i)/1000)TWOPI);
arr[i]y=300+rediuscos(((10i)/1000)TWOPI);;
}
for(i=0;i<999;i++)
line(arr[i]x,arr[i]y,arr[i+1]x,arr[i+1]y);
getch();
closegraph();
}用C语言画圆弧将系统初 始化成画图状态(默认的是文字状态)然后库函数个画圆的函数,该函数有4个参数:圆心的位置,半径的长度,圆弧的起始角的大小(以水平面为0度,下同)以及圆弧的终止角的大小根据需要就可以画出各种圆弧了 !给你个思想,首先指定圆心和半径,园周上的点与角度是服从y=sin(a),x=cos(a)正反弦函数关系的,依次规则可以从0到2派逐点将圆画出来。或者分别制定x轴或y轴的半径的起始点根据x的平方+y的平方=半径的公式对应的确定y和x再一次地画出正负的点。将表格个数据,分割成合理的小块,比如说是100100,可以分割成55的数据块,然后以块为单位计算到圆弧的距离,这样会去掉很多块,而且计算的次数会很少!再对距离圆弧较近的块内的点做处理或者直接计算点到圆弧的距离!楼主可以考虑一下!如果在继续优化一下应该可以!MFC里面画点是dcpixel(point)
//这里的point是你设置ClickButtonDown或者ClickButtonUp里面返回的CPoint类型的值,如果是画线的话,调用moveto()函数到直线的起点,然后lineto函数到终点
;如果你要画圆的话用Ellipse()函数,ellipse(CRect());
CRect是一个类型的变量,你需要用两个点来构造一个CRect
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)