利用直角三角形画圆的算法

上传人:m**** 文档编号:544976159 上传时间:2023-11-28 格式:DOC 页数:6 大小:296.50KB
返回 下载 相关 举报
利用直角三角形画圆的算法_第1页
第1页 / 共6页
利用直角三角形画圆的算法_第2页
第2页 / 共6页
利用直角三角形画圆的算法_第3页
第3页 / 共6页
利用直角三角形画圆的算法_第4页
第4页 / 共6页
利用直角三角形画圆的算法_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《利用直角三角形画圆的算法》由会员分享,可在线阅读,更多相关《利用直角三角形画圆的算法(6页珍藏版)》请在金锄头文库上搜索。

1、此外一种画圆的算法:算法的数学原理:我们懂得圆的内接三角形中,如果有一条边是直径,那么该边所相应的角度是直角。而在解析几何中,对任意两条斜率存在的直线,如果它们互相垂直,那么它们的斜率相乘为-1,而倘若是在园外(稍微在圆外一点),则夹角变小,斜率相乘不不小于-1(待会儿给出证明),倘若在园内一点,则夹角变大,斜率相乘不小于-,如图:证明:(由于只需要画出/8圆即能画出整个圆,因此如下以第二个八分圆证明)对于B点设(r为圆的半径)则,。对于B点设其中则同理可得,对于”点以上是对该数学措施的证明下面我们讨论一下具体的描点,如图:设我们已经画出了P点(P在第二个八分圆的圆弧上),则我们设P(x,y)

2、,则下一种应当描的点应当是P或P,我们取P1和P2的中点Pid,我们只需要判断出Pmid与圆的关系即可判断应取P1还是P2了,如图:按照前面的论证措施,我们分别算出了,由于与否在圆上是以斜率相乘与否为-为分界线的,因此我们令,则只需判断出与否不小于0即可我们观测到,对于第二个八分圆,分母恒成立,则我们只需要判断分子与否不小于0即可,当分子时,则Pmd在圆外,取P当分子时,则Pmid在圆内,取P1 如果相等,则我们商定取P2这样就可以画出圆来了,但是效率太低了,我们可以稍加改善,将其变化成增量的形式由于我们已经取了P点,则我们可以分状况讨论在点之前一次的取点状况,共有两种状况,一是P点,二是P”

3、点,则相应这两种状况:如果是点,则计算的是d点的斜率相乘的成果如果是”点,则计算的是P”md点的斜率相乘的成果我们设a为每一次的斜率相乘加1后的分子的值,则相应于mid而相应于P”mid而我们所需规定的Pmi点的由此,我们便将a的值表达到了增量的形式,通过判断的正负来判断该点是在圆内还是圆外,具体的c代码算法部分如下所示:float a,x,y,r,esinn=000001;in tag;/ag是用来鉴别前一种点是P还是P”的=;/ta=1,表达取的是,t=0,表达获得是P”r=00;y=r;petPi(0,G(x,y,(x+y)/2);a=(y0.5)(-.5)+(+1)*(x1)-r*r;if(aesinon)DC-StPixel(+1,y-1,RB(x,,((+y)/2));x+,-;ag=;elspDCSePixel(x+1,y,GB(x,y,(xy)));x+;a0;wile(xSetxl(x+1,y,RB(,y,(x+y)/);x+,y-;tg=1;elepDetPx(x1,RG(,y,((x+y)2)));x+;tg=0;下图为用该算法画出的圆(圆心坐标是(00,,100),半径是0):算法的分析到此为止

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号