求绘制椭圆的函数实现(不是现成的函数)
这是我写的绘制圆的函数:
//P是一个STL容器(VECTOR)储存了圆的每一个点的坐标
#include <windows.h>
#include <math.h>
#include <vector>
using namespace std;
typedef vector< POINT > VECPT;
VECPT *P;
P= new VECPT;
void Store(POINT pt1,POINT pt2)
{
int dx=abs(pt2.x-pt1.x);
int dy=abs(pt2.y-pt1.y);
int r=sqrt(dx*dx+dy*dy);//半径
int r45=ceil(r*0.70710678);//八分之一
int ve;
POINT pt3;
for (int i=0;i<=r45;i++)
{
ve=ceil(sqrt(r*r-i*i));
pt3.x=pt1.x+i;
pt3.y=pt1.y+ve;
P->push_back(pt3);//将点存入容器
pt3.x=pt1.x-i;
pt3.y=pt1.y+ve;
P->push_back(pt3);
pt3.x=pt1.x+i;
pt3.y=pt1.y-ve;
P->push_back(pt3);
pt3.x=pt1.x-i;
pt3.y=pt1.y-ve;
P->push_back(pt3);
pt3.x=pt1.x+ve;
pt3.y=pt1.y+i;
P->push_back(pt3);
pt3.x=pt1.x-ve;
pt3.y=pt1.y+i;
P->push_back(pt3);
pt3.x=pt1.x+ve;
pt3.y=pt1.y-i;
P->push_back(pt3);
pt3.x=pt1.x-ve;
pt3.y=pt1.y-i;
P->push_back(pt3);
}
}
绘制椭圆我就不会了