iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >利用Python绘制圆
  • 250
分享到

利用Python绘制圆

python开发语言 2023-10-04 14:10:17 250人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

一、实验目的 设计一个全白的图片,并在其间绘制一个圆最终显示该图片。 二、设计方案 引入PIL中的Image模块,使用Image.new()创建新的空白图片 2、利用putpixel()函数放置一个黑

一、实验目的

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

二、设计方案

引入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

--结束END--

本文标题: 利用Python绘制圆

本文链接: https://www.lsjlt.com/news/423408.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 利用Python绘制圆
    一、实验目的 设计一个全白的图片,并在其间绘制一个圆最终显示该图片。 二、设计方案 引入PIL中的Image模块,使用Image.new()创建新的空白图片 2、利用putpixel()函数放置一个黑...
    99+
    2023-10-04
    python 开发语言
  • Python——绘制圆形
    方法一生成圆:  方法2生成圆: 这里我们使用的是【matplotlib】生成的,但是我用的是中文的title,故而里需要单独加上两句话: plt.rcParams['font.sans-serif'] = ['SimHei'] # ...
    99+
    2023-09-10
    python 开发语言
  • html5中怎么利用Canvas绘制椭圆
    html5中怎么利用Canvas绘制椭圆,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 概述 HTML5中的C...
    99+
    2024-04-02
  • 利用Pygame绘制圆环的示例代码
    目录三角函数弧度和角度的关系基本包和事件捕捉主程序全部代码三角函数 如果我们以OP作为圆的半径r,以o点作为圆的圆心,圆上的点的x坐标就是r * cos a ,y坐标就是 r * ...
    99+
    2024-04-02
  • 怎么用Python tkinter库绘制椭圆
    这篇文章主要介绍“怎么用Python tkinter库绘制椭圆”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Python tkinter库绘制椭圆”文章能帮助大家解决问题。...
    99+
    2023-06-29
  • Python利用cv2动态绘制圆和矩形的示例详解
    新手,参考了以下链接: python opencv在图像上画矩形(已验证) 本文可以实现在指定图片上动态绘制圆和矩形。 import cv2 import numpy as np i...
    99+
    2023-03-23
    Python cv2绘制圆 矩形 Python cv2绘制圆 Python cv2绘制矩形 Python cv2
  • Python利用matplotlib绘制圆环图(环形图)的实战案例
    目录一、概念介绍二、数据展示三、图像绘制四、参数解释(1) wedgeprops是我们绘图时的参数字典。(2) startangle是第一个数据起画点。(3) plt.text(4)...
    99+
    2024-04-02
  • 怎么在html5中利用canvas绘制一个圆环
    今天就跟大家聊聊有关怎么在html5中利用canvas绘制一个圆环,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。实现过程:首先:html部分代码如下:<canvas ...
    99+
    2023-06-09
  • 如何在Android中利用Drawable绘制一个圆角
    如何在Android中利用Drawable绘制一个圆角?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 创建类RoundCircleDrawable继承Drawablepub...
    99+
    2023-05-30
    android drawable
  • 利用python绘制线型图
    目录x,ycolorlinstyle缩写方式marker, markersizelabel一次性绘制三个线条图用法: matplot.pyplot.plot(*args, scale...
    99+
    2024-04-02
  • 如何使用canvas绘制圆
    如何使用canvas绘制圆?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。arc语法:arc(x, y, radius, startAngle, endAngle, anti...
    99+
    2023-06-09
  • vue使用canvas绘制圆环
    本文实例为大家分享了vue使用canvas绘制圆环的具体代码,供大家参考,具体内容如下 很多时候,会有绘制圆环的要求,比如渐变,圆环等等 所以现在封装了一个方法,可以直接绘制 绘制样...
    99+
    2024-04-02
  • Python利用matplotlib绘制直方图
    目录1. 直方图概述 1.1什么是直方图? 1.2直方图使用场景 1.3直方图绘制步骤 1.4案例展示2. 直方图属性 2.1设置颜色 2.2设置长条形数目 2.3设置透明度 2.4...
    99+
    2024-04-02
  • 怎么使用Canvas绘制圆形
    这篇文章主要介绍“怎么使用Canvas绘制圆形”,在日常操作中,相信很多人在怎么使用Canvas绘制圆形问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Canvas绘制圆形”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-03
  • Python怎么用cv2动态绘制圆和矩形
    今天小编给大家分享一下Python怎么用cv2动态绘制圆和矩形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。本文可以实现在指...
    99+
    2023-07-05
  • HTML怎么绘制椭圆
    今天小编给大家分享一下HTML怎么绘制椭圆的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。具体代码:<!DOCTYPE&...
    99+
    2023-06-27
  • C#中GDI+绘制圆弧及圆角矩形等比缩放的绘制
    目录理解圆弧绘制从圆弧到绘制圆角长方体如何实现等比缩放绘制圆角矩形按固定比例计算缩放矩形的尝试(不推荐)通过Inflate()方法缩放矩形理解圆弧绘制 GDI+中对于圆弧的绘制,是以...
    99+
    2024-04-02
  • css3 绘制画圆、扇形
    css已经越来越强大了 ,可以使用它来绘制各种简单的形状,用于代替图片显示,这次的分享主要用到画圆,扇形实现圆形<div class="circle"></div><style&g...
    99+
    2023-06-03
  • css3怎么绘制半圆
    这篇文章主要介绍“css3怎么绘制半圆”,在日常操作中,相信很多人在css3怎么绘制半圆问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css3怎么绘制半圆”的疑惑有所帮助!接...
    99+
    2024-04-02
  • Python利用Turtle绘制虎年图像
    目录导语一、代码展示二、效果展示导语 2022年是农历壬寅虎年,在自然界中,虎有“百兽之王”之称 它的王者之风与勇猛,被作为威仪和权势的象征,千百年来,人们崇...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作