首页 > 其他分享 >让我们一起用Pygame Zero 画圆形(空心圆圈、实心圆、多个小球、多层同心圆、随机颜色同心圆、有渐变效果填充圆)

让我们一起用Pygame Zero 画圆形(空心圆圈、实心圆、多个小球、多层同心圆、随机颜色同心圆、有渐变效果填充圆)

时间:2025-01-10 21:59:36浏览次数:3  
标签:pgzrun 150 draw screen 同心圆 Zero Pygame circle 绘制

让我们一起用Pygame Zero 画圆形

(空心圆圈、实心圆、多个小球、多层同心圆、随机颜色同心圆、有渐变效果填充圆)

本文目录:

零、时光宝盒

一、绘制空心圆圈

二、绘制实心圆

三、画多个静止小球

四、绘制多层同心圆

4.1、绘制5层同心圆

4.2、绘制20层同心圆

​4.3、绘制条纹相间的同心圆

4.4、绘制随机颜色的同心圆

五、绘制有渐变效果的填充圆


零、时光宝盒

2ab463de26a541818271efa176656ae6.png
逆境清醒:https://blog.csdn.net/weixin_69553582   

  很多年前,我爸有次住院,那时医院没有配餐,都是病人家属送饭。那天,午餐时间,我和妈送饭给爸,同病室的病友都在吃各家家人送来的饭菜,唯有一个病床的病人没有,他很瘦,皮肤黝黑,一直在张望门口。后来,终于有他的家人来了,可能是他老婆吧,身材略胖,打扮得比较时髦。我记得她手里提着鼓鼓囊囊的袋子,我好奇她会准备什么给她先生吃,所以偷偷观察着,可出现的一幕令我至今难忘:她从袋子里拿出来一个月饼递给病床上的那个人,然后开始唠叨什么(方言我听不懂),而那个躺坐在病床上的人默默接过月饼开始吃,什么话也没说,但我看到了他眼里流下的泪,顺着脸庞悄悄流进嘴里,被那个人混着月饼一起吞进肚子里。。。

  那时不是中秋节,中秋过了很久。那天后,每次吃饭时间前,那个病人都会借故离开病房,我猜他是不想看到别人都有热饭菜吃,而他。。。月饼属于高糖高脂食物,并不适合病人。他老婆可能不愿意花时间煮饭菜,所以用最简单的方法(买一个月饼)解决他的病用餐问题。对一个人是有真感情还是应付,一个月饼告诉了所有人答案。

  最近演员王星泰缅边境失联事件,在营救王星的过程中,他的女友嘉嘉起到了很大作用,事情发生了,她没有慌乱只会哭,而是沉着冷静,思路清晰,勇敢果断。当然,这里面肯定有其他人的帮助。但,她对王星的感情是实实在在的,她没有在困难下轻易放弃男友。王星运气其实不算差,起码他能在发生危险前已经遇到了爱他珍惜他不轻易放弃他的人,这种运气不是人人都有。我没有福气等到我一直等的人出现,但我希望你们都能早日遇到懂得珍惜你们的人。

     逆境清醒
2025.1.10

此文地址:https://blog.csdn.net/weixin_69553582/article/details/145061888

7f8eafc867aa425cab7d368ee0eb4dd8.gif

一、绘制空心圆圈

效果如下图所示:

代码如下: 

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画圆形"
WIDTH = 300
HEIGHT = 300

def draw():
    screen.fill('white')
    screen.draw.circle((150, 150), 100, 'black')

pgzrun.go()

运行效果为在窗口中画了一个圆,

def draw():

表示定义了一个绘图函数,冒号后面的语句表示具体的绘制工作。

    screen.fill('white')

screen.fill('white')语句中,screen表示屏幕,fill表示用括号里的颜色来填充整个背景画面。

代码表示显示背景是白色。

    screen.draw.circle((150, 150), 100, 'black')

screen.draw.circle((150, 150), 100, 'black')语句绘制了一个圆圈。

其中screen表示屏幕,draw为绘制的英文单词,circle表示圆圈;

后面的3个参数,

(150, 150),表示圆的中心位置坐标,

100表示圆的半径,

'black'表示圆的颜色为黑色。

二、绘制实心圆

绘制实心圆,效果如下:

代码如下:  

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画实心圆形"
WIDTH = 300
HEIGHT = 300

def draw():
    screen.fill('white')
    #画实心圆形
    screen.draw.filled_circle((150, 150), 100, 'purple')
pgzrun.go()

运行代码,运行效果为在窗口中画了一个实心圆,

这里使用了filled_circle函数,filled_circle就是填充圆的意思。

screen.draw.filled_circle((150, 150), 100, 'purple')

其中screen表示屏幕,draw为绘制的英文单词,filled_circle表示填充圆;

后面的3个参数,

(150, 150),表示圆的中心位置坐标,

100表示圆的半径,

'purple'表示圆的颜色为黑色。

三、画多个静止小球

要画多个小球,我们需要了解一下zero坐标系,

Pygame Zero 的坐标系以左上角为原点 ( 0, 0 )

  游戏窗口的绘制区域采用直角坐标系,左上角的坐标为(0,0)。

  横轴方向由x坐标表示,取值范围为0到最大横坐标,例如x=800;

  纵轴方向由y坐标表示,取值范围为0到最大纵坐标,例如y=600。

  游戏窗口中任一点的位置可由其(x,y)坐标表示。

绘制多个静止实心圆,效果如下:

运行以下代码,即可在对应的坐标位置绘制出图所示的3个小球:

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画多个静止小球"
WIDTH = 500
HEIGHT = 300
def draw():
    # 画多个静止小球
    screen.fill('white')
    screen.draw.filled_circle((100, 150), 50, 'red')
    screen.draw.filled_circle((250, 150), 50, 'green')
    screen.draw.filled_circle((400, 150), 50, 'blue')
pgzrun.go()

四、绘制多层同心圆

4.1、绘制5层同心圆

绘制5层同心圆,效果如下:

相关的代码如下:

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——绘制多层同心圆"
WIDTH = 300
HEIGHT = 300

def draw():
    # 绘制多层同心圆
    screen.fill('white')
    screen.draw.circle((150, 150), 20, 'black')
    screen.draw.circle((150, 150), 40, 'black')
    screen.draw.circle((150, 150), 60, 'black')
    screen.draw.circle((150, 150), 80, 'black')
    screen.draw.circle((150, 150), 100, 'black')
pgzrun.go()

4.2、绘制20层同心圆

绘制20个同心圆,效果如下图所示:

代码如下:

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——绘制多层同心圆"
WIDTH = 400
HEIGHT = 400

def draw():
    screen.fill('white')
    # 绘制多层同心圆
    for r in range(1, 201, 10):
        screen.draw.circle((200,200), r, 'black')
pgzrun.go()

​4.3、绘制条纹相间的同心圆

绘制绘制条纹相间的同心圆,效果如下图所示:

相关代码如下:

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——绘制条纹相间的同心圆"
WIDTH =500
HEIGHT =500

def draw():
    screen.fill('white')
    for r in range(250, 0, -40):
        screen.draw.filled_circle((250, 250), r, 'purple')
        screen.draw.filled_circle((250, 250), r-20, 'white')

pgzrun.go()

4.4、绘制随机颜色的同心圆

 效果如下图所示:

相关代码如下:

import pgzrun
import random
TITLE = "逆境清醒编程用法示例pgzrun——绘制随机颜色的同心圆"
WIDTH =500
HEIGHT =500

def draw():
    screen.fill('white')
    #绘制随机颜色的同心圆
    for r in range(250, 0, -10):
        screen.draw.filled_circle((250,250), r,\
        (random.randint(0, 255), random.randint(0, 255),\
        random.randint(0, 255)))

pgzrun.go()

五、绘制有渐变效果的填充圆

绘制有渐变效果的填充圆,效果如下图所示:

实现的代码为:

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——绘制渐变圆球"
WIDTH =300
HEIGHT =300

def draw():
    screen.fill('white')
    #绘制渐变圆球
    for r in range(128, 1, -5):
        screen.draw.filled_circle((150, 150),r, (r, 0,r))

pgzrun.go()

 调整代码,我们还可以做出其他效果,例如实现有立体效果的小球,如下图所示:



 

推荐阅读:

逆境清醒文章总目录表

27d5b50d93a089da35ee1a28905f9719.jpeg​​​​

c64d8b4d0b6842ebe1196c0b1e3fba51.jpeg​​​​

a136a43cd0015088d4ce37b1bb653533.jpeg​​​​

给照片换底色(python+opencv)猫十二分类基于大模型的虚拟数字人__虚拟主播实例

0f92b28e915ca3cc26cfaaf47c5fc62d.jpeg

5d2b51be3e7e932be95355088e17d524.jpeg

3cf3fe3c1a186bfcbf12d4755b8950ae.jpeg

计算机视觉__基本图像操作(显示、读取、保存)直方图(颜色直方图、灰度直方图)直方图均衡化(调节图像亮度、对比度)

849b7a72434213407c862c8f8e071a22.png

9412a31659ba6db83d806c3f354dd1c0.png

fb29a865f75af8352dca5e3d56a09004.png

语音识别实战(python代码)(一)

 人工智能基础篇

 计算机视觉基础__图像特征

逆境清醒

637c349e8206c0651d1f2751ba128912.png

ce6afe00fdaa41f8aff1cf830e23f1ac.png7364ac22aa4f40899b6d7597ad7d91b6.png

 matplotlib 自带绘图样式效果展示速查(28种,全)

PyCharm 社区版(2024.2.3)安装、配置、创建项目

pycharm汉化插件无法使用也无法卸载的解决方法

ec9793633e16de7b52fbf0b74ecfa2f3.png

1b1579176220a88ae2a53758f91a41d6.pngc97237f650c44d0da960e88c37fc921d.png
Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一)

开源数据科学平台Anaconda简介

最新版本Anaconda 2024.06-1安装设置

6e420cca6a1313b93948785f689f5723.png

1da3f182e081ad8f3cfcf53013909b8b.png

ca733c1a99c6457a762d0e503855ce79.png

立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

 Python 3D可视化(一)

让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)

f92dfeb72ec683025a63db2fe8a26492.png

1b2a866ebb074a1e5859dad42c435d5c.jpeg

8207b63755bf37b10807a046080f14df.png

 python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印

 用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

python爱心源代码集锦(18款)

b97d56fe7e3ce6234cb182ad86fef4ed.jpeg

6871f222e7db3f8ce83336ad50311c3a.png

b89ed1147e8a76e6c64b812d65e8f2ef.png

 Python中Print()函数的用法___实例详解(全,例多)

 Python函数方法实例详解全集(更新中...)

 《 Python List 列表全实例详解系列(一)》__系列总目录、列表概念

7090a17485b11d9da69e37e5756c6910.png

50313523c8c19f29270fb1110fe66ae9.png

用代码过中秋,python海龟月饼你要不要尝一口?

 python练习题目录

4c77c7a60782637db9e27b3deec7abee.png

c397ed3a22c7885194eb92b5b3883322.png

a18fbd27f15eaa98f0bb5a4fed8cbd8b.png

草莓熊python turtle绘图(风车版)附源代码

 ​草莓熊python turtle绘图代码(玫瑰花版)附源代码

 ​草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码

36e2af3bf474c59b9c430b223417793b.png

542dbf91cfafa23e1ccdee94a7b22397.png

175f4dd5b5bb4e46915f57c9f853f001.jpeg

 巴斯光年python turtle绘图__附源代码

皮卡丘python turtle海龟绘图(电力球版)附源代码

【中秋月饼系列】2024年立体月饼新鲜出炉----python画月饼(1)附完整代码

逆境清醒

68b0f4704053ab870c16bb4e37897d63.png

25ff4b8d741f0942c50dd96b7e866386.jpeg

59bb0955631256520f0edd17f8304669.jpeg

 Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

 色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名)

2024年12月多家权威机构____编程语言排行榜__薪酬状况

7dda70990181a20a430cc7b13dc9d8aa.png

a1fea2de0187913a4cdb18473c512c55.png

96e1df3760ce3017026da2d1de069869.png

 手机屏幕坏了____怎么把里面的资料导出(18种方法)

【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

 查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决

逆境清醒

cc75265b98b9475cb68deece4f3def19.png

用代码画万圣节南瓜(python,MATLAB,html css)

8fe676a8d0404267af522df861a0a904.gif

CSS3 动画相关属性实例大全

49148faa34d949e999b8f0976a1fa8cb.png

CSS @规则(At-rules)系列详解

fa753f11d26d967646a85b78b53dc703.png

71e3b727d1634951aeed4e66cc536fe1.jpega1632ea3af784e47a1673144e360272e.gif
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)

圣诞节系列代码专辑(目录)

Markdown 语法详解大全(超级版)

4290a52c20eee861ee159e17659342f5.png

b126b976989a1e4f1ae40867407e8f4d.png​​​​​​​

15f065b7e46b238db1e7382f70fd7076.png​​​​​​​

2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子,炫酷充电,字体特

 别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(4套)

SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例)

f3a00b9bf85e8d36c21d8e9785f43a53.png​​​​​​​

1f143789d9652fd35c1fabf11b6f149c.png​​​​​​​

2c8047a9f87aa22a8abe57ad0081b1d9.png​​​​​​​

【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

 2023春节祝福系列第一弹(上)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)

逆境清醒

a01e7c6663c27936b3c174265db14012.png​​​​​​​

6d12eed561af36157625a07b771f9b0b.png​​​​​​​

af9dcebc4110cf5b9a012a3ef7d268fe.png​​​​​​​

 tomcat11、tomcat10 安装配置(Windows环境)(详细图文)

 Tomcat端口配置(详细)

 Tomcat 启动闪退问题解决集(八大类详细)

逆境清醒

987cd5bf2ecef39fd782b5d64f0c3cbf.png7bd749109565caaad3799224fad815a4.jpeg

信息系统项目管理师试题

云计算

标签:pgzrun,150,draw,screen,同心圆,Zero,Pygame,circle,绘制
From: https://blog.csdn.net/weixin_69553582/article/details/145061888

相关文章

  • go-zero使用自定义模板实现统一格式的 body 响应
    前提go环境的配置、goctl的安装、go-zero的基本使用默认都会需求go-zero框架中,默认使用goctl命令生成的代码并没有统一响应格式,现在使用自定义模板的方式实现统一响应格式:{"code":0,"msg":"OK","data":{}}步骤1、下载模板goctltemplateinit下载完......
  • gozero实现对接开放平台分贝通中新建费用报销的sdk设计与解决方案
    使用GoZero框架来实现费用报销对接CRM系统的SDK设计和解决方案,可以分为以下几个步骤。GoZero是一个Go语言编写的高性能Web框架,具有丰富的功能,适用于构建API服务。下面是如何使用GoZero来实现费用报销管理系统的API,并与CRM系统对接的方案。###一、准备工作......
  • DeepSpeed训练得到checkpoint如何像Huggingface模型一样评测evaluation?zero_to_fp32.p
    DeepSpeed训练得到checkpoint如何像Huggingface模型一样评测evaluation?具体步骤首先看一个样例:这是我用open-instruct框架,使用DeepSpeed训练1728个steps得到的一个checkpoint。请注意,下文我演示用的例子是基于step_1152,主要方法和step_1728这个名字没有任何区别。在使......
  • 进程间通信组件ZeroMQ详解
    在一些复杂的项目中,往往会由不同功能的程序组成,且在程序运行期间,各个程序还需要进行互相通信,实现进程间通信的方式有很多种,最常用的就是通过消息中间件,比如RabbitMQ,Kafka,以及ZeroMQ等,而RabbitMQ和Kafka这两款中间件往往都需要独立安装步骤才能使用,ZeroMQ却不需要独立安装部署,而是......
  • 【论文带读】LLMs as Zero-shot Graph Learners: Alignment of GNN Representations w
    目录:TEA-GLM(TokenEmbedding-AlignedGraphLanguageModel)(NeurlPS2024)1背景介绍1.1GNN的局限性1.2LLM解决Graph问题的方案1.3LLMs与GNN结合中的关键问题1.4文章贡献2方法2.1模型框架2.2GNN的对比学习2.2.1GNN的实例对比学习2.2.2GNN的特征对比学习2.3......
  • 使用canvas实现同心圆环
    在前端开发中,使用HTML的<canvas>元素可以很方便地实现同心圆环。以下是一个简单的示例代码,展示了如何使用CanvasAPI来绘制同心圆环:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=dev......
  • 为孩子准备的 第一个python编程学习案例-pygame小游戏
    为孩子准备的第一个python编程学习案例python安装IDE安装thonny开发第一个小游戏-避坑指南最终运行通过的小游戏参考想指导孩子进行python编程启蒙,自己研究了一下如何从零搭建python开发环境、安装配置基本库并运行一个游戏示例.python安装安装最新版本的python,......
  • pygame基础功能总结
    1.导入Pygame模块(1) 模块并初始化① Importpygame② Pygame.init()(2) 创建窗体① Window_size=(800,600) 长宽② Screen=pygame.disply.set_mode(Window_size)③ pygame.disply.set_caption(“MyFirstPygameWindow”) 设置窗体标题(3) 主循环① Ru......
  • ZeroMQ介绍及安装
    ZeroMQ介绍及安装1.介绍1.1概述ZeroMQ(又名ØMQ,MQ,或zmq)看起来像一个可嵌入的网络库,但其作用就像一个并发框架。ZeroMQ类似于标准Berkeley套接字,其提供了各种传输工具,如进程内、进程间、TCP和组播中进行原子消息传送的套接字。你可以使用各种模式实现N对N的套接字连接,这些模......
  • ZeroMQ的使用(python)
    ZeroMQ的使用(python)1.python环境使用1.1非源码安装在安装pyzmq和libzmq3-devel之后便可以使用zeromq了。需要提前安装好python环境。(venv-patroni-4.0.3)[fbase@localhostzmq]$mkdir~/soft/zmq(venv-patroni-4.0.3)[fbase@localhostzmq]$cd~/soft/zmq(venv-pat......