


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、无另外一种画圆的算法:算法的数学原理:我们知道圆的内接三角形中,如果有一条边是直径,那么该边所对应的角度是直角。而在解析几何中,对任意两条斜率存在的直线,如果它们相互垂直,那么它们的斜率相乘为-1,而倘若是在园外(稍微在圆外一点) ,则夹角变小,斜率相乘小于-1(待会儿给出证明) ,倘若在园内一点,则夹角变大,斜率相乘大于-1,如图:证明:(由于只需要画出 1/8 圆即能画出整个圆,因此以下以第二个八分圆证明)对于 B 点设cos ,sinxryr(r 为圆的半径)则sinsin,coscosBCBArrkkrrrr,无2222sin*1(cos1)BCBArkkr 。对于 B点设cos,si
2、nxrdx yr其中(0,cos )dxrr则sinsin,coscosB CB Arrkkrdxrrdxr2222sin*( cos)0*1B CB AB CB Arkkrdxrdxkk 同理可得,对于 B”点*1B CB Akk 以上是对该数学方法的证明下面我们讨论一下具体的描点,如图:设我们已经画出了 P 点(P 在第二个八分圆的圆弧上) ,则我们设 P(x,y) ,则下一个应该描的点应该是 P1 或 P2,我们取 P1 和 P2 的中点 Pmid,我们只需要判断出 Pmid 与圆的关系即可判断应取 P1 还是 P2 了,如图:无按照前面的论证方法,我们分别算出了121PmidAykxr
3、 ,121PmidCykxr 2221()2*(1)PmidAPmidCykkxr因为是否在圆上是以斜率相乘是否为-1 为分界线的,所以我们令*1PmidAPmidCkk,则222221()(1)2*1(1)PmidAPmidCyxrkkxr 只需判断出*1PmidAPmidCkk是否大于 0 即可我们观察到,对于第二个八分圆,分母22(1)0 xr恒成立,则我们只需要判断分子是否大于 0 即可,当分子2221()(1)02yxr时,则 Pmid 在圆外,取 P2当分子2221()(1)02yxr时,则 Pmid 在圆内,取 P1如果相等,则我们约定取 P2这样就可以画出圆来了,但是效率太低了
4、,我们可以稍加改进,将其改变成增量的形式因为我们已经取了 P 点, 则我们可以分情况讨论在 P 点之前一次的取点情况, 共有两种情况,一是 P点,二是 P”点,则对应这两种情况:如果是 P点,则计算的是 Pmid 点的斜率相乘的结果如果是 P”点,则计算的是 P”mid 点的斜率相乘的结果我们设 a 为每一次的斜率相乘加 1 后的分子的值,则对应于 Pmid无2221()2P midayxr而对应于 P”mid2221()2P midayxr而我们所需要求的 Pmid 点的22222211()(1)()(221)(221)22PmidP midayxryxrxyaxy22222211()(1)
5、()(21)(21)22PmidP midayxryxrxax由此,我们便将 a 的值表示成了增量的形式,通过判断 a 的正负来判断该点是在圆内还是圆外,具体的 c 代码算法部分如下所示:float a,x,y,r,espinon=0.00001;int tag;/tag 是用来判别前一个点是 P还是 P”的x=0;/tag=1,表示取的是 P,tag=0,表示取得是 P”r=100;y=r;pDC-SetPixel(0,y,RGB(x,y,(x+y)/2);a=(y-0.5)*(y-0.5)+(x+1)*(x+1)-r*r;if(aespinon)pDC-SetPixel(x+1,y-1,RGB(x,y,(x+y)/2);x+,y-;tag=1;elsepDC-SetPixel(x+1,y,RGB(x,y,(x+y)/2);x+;tag=0;while(xespinon)pDC-SetPixel(x+1,y-1,RGB(x,y,(x+y)/2);无x+,y-;tag=1;elsepDC-Se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 审计过程中的人力资源管理考核试卷
- 种子批发商企业社会责任报告与实施考核试卷
- 安全门禁售后运维
- 七年级下册教学设计与指导
- 畜牧兽医疫苗研究与开发考核试卷
- 初中剪纸艺术课程教案设计
- 一流的管理者:3不管、4不说、5不帮的管理智慧
- 2024-2030全球水飞蓟素原料药行业调研及趋势分析报告
- 2025年公用设备工程师之专业案例(暖通空调专业)强化训练试卷B卷附答案
- 幼儿教育个人简历
- 防食物中毒和预防的主题班会
- 弘扬与传承中华传统文化课件(共16张PPT)
- 《中医护理学》第三章课件
- 泵站毕业设计
- 行政事业单位合同业务控制流程图
- 孔子练精神聪明不忘开心方_医心方卷二十六引_金匮录_方剂加减变化汇总
- 板房区临建设施技术标
- 美国AAMIST79最新修订条款解读----史绍毅[1]
- 危险性较大的分部分项工程清单及安全管理措施
- 理事会会议决议范文
- 通用汽车精益生产培训资料
评论
0/150
提交评论