- 积分
- 557
- 明经币
- 个
- 注册时间
- 2012-5-28
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
楼主 |
发表于 2012-6-6 11:50:05
|
显示全部楼层
我用来画倾斜椭圆弧函数如下:
void drawellipsearc(double x,double y,double sa,double ea,double rotateangle,double R,double r)
{
if(sa>ea)
ea+=2*PI;
List<PointF> listpoint=new List<PointF>();
for(int i=0;i<65;i++)
{
double angle=sa+i*(ea-sa)/64;
double x=R*cos(angle);
double y=r*sin(angle);
double nx=x*cos(rotateangle)-y*sin(rotateangle)+x;
double ny=y*cos(rotateangle)+x*sin(rotateangle)+y;
PointF p=new PointF((float)nx,(float)ny);
listpoint.add(p);
}
listpoint.add(listpoint[0]);
Pen pen = new Pen(Color.Black, 3);
Graphics.DrawLines(pen, listpoint.ToArray());} |
|