我的编程空间,编程开发者的网络收藏夹
学习永远不晚

利用Python绘制圆

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

利用Python绘制圆

一、实验目的

设计一个全白的图片,并在其间绘制一个圆最终显示该图片。

二、设计方案

引入PIL中的Image模块,使用Image.new()创建新的空白图片
2、利用putpixel()函数放置一个黑色像素(RGB中0代表黑色,255代表白色)
3、使用Bresenham画圆和中点画圆两种方式绘制圆形,要求:其圆心坐标为(249,249),半径为150像素,同时要求绘制方法作为函数调用

三、详细代码

from PIL import Imagedef circle1(r)   :#中点画圆法g = Image.new("RGB", (500, 500), color="white")    #设置白色背景x = 0    #初始圆的圆心横坐标y = r    #初始圆的纵坐标d =1.25-r    #计算判别量g.putpixel((x+249, y+249), 0)      #放置像素点到对应的位置g.putpixel((249 - x, y + 249), 0)     #放置像素点到对应的位置g.putpixel((x + 249, 249 - y), 0)     #放置像素点到对应的位置g.putpixel((249 - x, 249 - y), 0)      #放置像素点到对应的位置g.putpixel((y + 249, x + 249), 0)     #放置像素点到对应的位置g.putpixel((249 - y, x + 249), 0)     #放置像素点到对应的位置g.putpixel((y + 249, 249-x), 0)      #放置像素点到对应的位置g.putpixel((249-y,249-x), 0)        #放置像素点到对应的位置while x < y:     #判断下一个点的位置     if d <0:        d+=2*x+3        x += 1     else:        d+=2*(x-y)+5        x += 1        y -= 1     g.putpixel((x + 249, y + 249), 0)    #画点     g.putpixel((249 - x, y + 249), 0)    #画点     g.putpixel((x + 249, 249 - y), 0)    #画点     g.putpixel((249 - x, 249 - y), 0)    #画点     g.putpixel((y + 249, x + 249), 0)   #画点     g.putpixel((249 - y, x + 249), 0)   #画点     g.putpixel((y + 249, 249 - x), 0)   #画点     g.putpixel((249 - y, 249 - x), 0)   #画点g.show()   #展示成果def circle2(r):   #Bresenham画圆g=Image.new("RGB",(500,500),"white")  #建立空白背景图片x=0  #设立初始横坐标轴y=r   #设立初始横坐标轴p=3-2*r   #计算判别量while x<=y:   #循环画点     g.putpixel((x + 249, y + 249), 0)   #以下八句用于画圆,每次画八分之一,其余由对称而来       g.putpixel((249 - x, y + 249), 0)     g.putpixel((x + 249, 249 - y), 0)     g.putpixel((249 - x, 249 - y), 0)     g.putpixel((y + 249, x + 249), 0)     g.putpixel((249 - y, x + 249), 0)     g.putpixel((y + 249, 249 - x), 0)     g.putpixel((249 - y, 249 - x), 0)     if p>=0:  #如果判别量〉=零            p+=4*(x-y)+10  #更新判别量            y- =1   #在斜下方画点            x+=1       else:            p+=4*x+6              x+=1   #在旁边一格画点g.show()  #展示图片circle2(150)#画圆,输入圆的半径Bresenham画圆circle1(150)#画圆,中点画圆法

四、实验结果

在这里插入图片描述
在这里插入图片描述

五、实验体会

这个实验要求我们学会中点画圆以及Bresenham画圆的方法,要求学会其原理,以及对于点的处理方法,先画八分之一圆,通过平移到对应位置,然后对称获得整圆。在此过程中,我们需要不断地计算下一个点的近似点

来源地址:https://blog.csdn.net/weixin_64633079/article/details/131600068

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

利用Python绘制圆

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么用Python tkinter库绘制椭圆

这篇文章主要介绍“怎么用Python tkinter库绘制椭圆”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Python tkinter库绘制椭圆”文章能帮助大家解决问题。一、椭圆绘制实例代码
2023-06-29

Python利用cv2动态绘制圆和矩形的示例详解

这篇文章主要为大家详细介绍了Python如何利用cv2实现动态绘制圆和矩形的功能,文中的示例代码讲解详细,具有一定的参考价值,需要的可以参考一下
2023-03-23

如何在Android中利用Drawable绘制一个圆角

如何在Android中利用Drawable绘制一个圆角?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 创建类RoundCircleDrawable继承Drawablepub
2023-05-30

怎么在html5中利用canvas绘制一个圆环

今天就跟大家聊聊有关怎么在html5中利用canvas绘制一个圆环,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。实现过程:首先:html部分代码如下:2023-06-09

如何使用canvas绘制圆

如何使用canvas绘制圆?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。arc语法:arc(x, y, radius, startAngle, endAngle, anti
2023-06-09

Python怎么用cv2动态绘制圆和矩形

今天小编给大家分享一下Python怎么用cv2动态绘制圆和矩形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。本文可以实现在指
2023-07-05

怎么使用Canvas绘制圆形

这篇文章主要介绍“怎么使用Canvas绘制圆形”,在日常操作中,相信很多人在怎么使用Canvas绘制圆形问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Canvas绘制圆形”的疑惑有所帮助!接下来,请跟
2023-06-03

HTML怎么绘制椭圆

今天小编给大家分享一下HTML怎么绘制椭圆的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。具体代码:
2023-06-27

css3 绘制画圆、扇形

css已经越来越强大了 ,可以使用它来绘制各种简单的形状,用于代替图片显示,这次的分享主要用到画圆,扇形实现圆形