圆和椭圆的生成.docx

上传人:scccc 文档编号:12085345 上传时间:2021-12-01 格式:DOCX 页数:4 大小:13.07KB
返回 下载 相关 举报
圆和椭圆的生成.docx_第1页
第1页 / 共4页
圆和椭圆的生成.docx_第2页
第2页 / 共4页
圆和椭圆的生成.docx_第3页
第3页 / 共4页
圆和椭圆的生成.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《圆和椭圆的生成.docx》由会员分享,可在线阅读,更多相关《圆和椭圆的生成.docx(4页珍藏版)》请在三一文库上搜索。

1、圆和椭圆的生成 OpenGL绘制圆和椭圆,为编程爱好者供应一些关心。 试验、三 验三实、和圆椭的生圆成 试验要: 实求验求: 要、1别分用圆的数参成生和Br法eenhams法画圆 算、别用分的圆参数生法和Br成eenhsa算法m圆 画Besrehnam法算2、 请调用画圆和 画请调用圆和画画椭圆 函的画数出图右提:示penoGL 可里通 过示提: lrogateft数函现坐标实 系的转,旋绕如Z轴转旋54度 (相于X当平Y面内 图形原点旋绕转5度)4过 g通rlottafe(45,00,1)来 现实。 1 OpenGL绘制圆和椭圆,为编程爱好者供应一些关心。 的圆数方参生成程算法假园定心在x

2、假(园心定 在cy,c点,将)圆用数方参表程: 点示 圆用参数将方表示程:0 2 将离 散化 k0 OpenGL绘制圆和椭圆,为编程爱好者供应一些关心。 使n上述离散用化程,方以得可如到算法下:使 上用述离化散方,可以得到程下算如法: of( for(rk ; 0kn; +k) Rcos (xxccRo(sk/2n;)R si(n ycysRin(2k/); gn_Polint(intx)( ,int();y 用法上方法述可沿圆周距等绘制出圆点来。法算中,用法上 述方法沿圆周等可点绘距出圆制。来算法中 n,的值取大, 计越算点越多的 , 执行时间越长但 。算此 的取越值, 大的取越大值 算的点

3、越多计但,执行间越长。 法的时缺点含有三是函数,角算量计大。 法缺点是的有含三角数,函计量算。大2 B OpenGL绘制圆和椭圆,为编程爱好者供应一些关心。 rseenamh生成 弧的算法圆设圆心(假 ),假 圆设(心0,0为)原 点考AB弧的画法虑,考虑 弧的画法 ,显弧的 画法 示个整圆时一只要,显 示一个在整时圆,上任 点一x,y)时(,同示A B上一点任上 任一点 时显时在示周上圆其它七 个对点 称y,(),x (,-x)y(x,-y,(-x)-y), -y(,x)-,(y,x)-(,x,y- )此因只考虑画, 段弧 圆此,只因考虑画BA圆段 图弧7 个对点称O 程 OpenGL绘制圆

4、和椭圆,为编程爱好者供应一些关心。 序x 00,=y0 R= 1d =32* Rd当i时0 di时+=1i+d 4ix1+6-xi= xi1+-1 d当i时0 d时i1=+id+(xi41-yi-1-+1)0xi=x -i+11y,= yii-1- , v1oidbre enhsamarc_(it R) /n一限象分之一八圆弧一 象限八之分一圆弧 int ,y,xd x=;0 yR= ;d=32*R;-w hil(xey) g_Poilnt(,xy);if ( d) 0=d+4*xd+6 ;else =dd4+(*x-)+1y;0y =y-; x=x11+; if(x=y)=g _loPnit

5、(,y); x OpenGL绘制圆和椭圆,为编程爱好者供应一些关心。 、3圆生椭成1M 上部半 分下半部分M2 椭圆方的:程F x(y)=b,x22a+y22-2b2a= 考虑第一象限椭圆弧生成, 分上0下部两,以分线切斜 为-1的点率作分为界。点 2b(2 ( x p 1+),a 22( y p 0 5.) 的y量比x分 分分界在处点,向量 法 b (2x p +1) a 2 y p( .0)5,而在下一 点,等式转变方不量大 ,即,则向说椭明圆从弧上分转入部部下分 OpenGL绘制圆和椭圆,为编程爱好者供应一些关心。 vid Eloilpe(intsa, int b )/椭/生圆源成码代

6、intx,y f;lot a;d x =; y =0b; d =b*b a*a*(-+b+0.2)5;g lPoint_x,y);(w hlie( *b*bx(+1 )a *a(*y0-5. ) ) if (0d )d = +d*b*b2*(x+3) x=x+;1 el e ds=+db(*b*2*(+x3+)*aa*-(2y*2+);x= x+1 y=;-1y ; lg_ointPx(y,; )/第象限一上部分 OpenGL绘制圆和椭圆,为编程爱好者供应一些关心。 d = *b*b(x+0.5*)(x+0.5)+ aa*(*y-)*1y-1) -(a*a *b;b wilhe y ( ) 0 i fd(0 )d =+dbb*(2*x+*2)+*a*a-2(*y3);+x=x 1;+y =y1; - lsee d =+a*ad*(2*-+y)3; =y-y;1 gl_ Poni(tx,)y ;/一象限下第分 部

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1