Pygame(四)画椭圆,弧
Pygame(四)画椭圆,弧
前情提要:
作业答案
- 正方形与内切圆
def rect_circle():pygame.init()screen = pygame.display.set_mode((800, 600))screen.fill((255,255,255))# 画正方形rect = pygame.Rect(300, 200, 200, 200)pygame.draw.rect(screen, (0, 0, 255), rect, width = 1)# 画内切圆, 半径因为正方形的线宽占了一个,所以半径要相应的少一个pos = 400, 300radius = 99pygame.draw.circle(screen, (255, 0, 0), pos, radius, )pygame.display.update()while 1:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()pygame.quit()
效果图:
- 圆与内接正方形
def circle_rect():pygame.init()screen = pygame.display.set_mode((800, 600))screen.fill((255,255,255))# 画外面的圆pos = 400, 300radius = 101pygame.draw.circle(screen, (255, 0, 0), pos, radius, )# 画内接正方形width = height = 100*1.41 # 计算内接正方形的宽高left, top = 400 - width/2, 300-height/2 # 计算内接正方形的左上角坐标rect = pygame.Rect(left, top, width, height)pygame.draw.rect(screen, (0, 0, 255), rect)pygame.display.update()while 1:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()pygame.quit()
效果图:
本节提要
内容详情
画椭圆
pygame.draw.ellipse(Surface, color, rect, width)
参数说明
Surface: Surface对象
color: 线条颜色
rect:椭圆的外切矩形
width: 线粗(width=0 是实心椭圆)
备注:
当矩形是一个正方形的时候,画出来的椭圆其实是一个圆_.
示例代码:
# 画椭圆
def draw_ellipse():pygame.init()screen = pygame.display.set_mode((800, 600))screen.fill((255, 255, 255))# 画椭圆rect = (100,100,200,100)pygame.draw.ellipse(screen, (0,255,255), rect, 1)pygame.display.update()while 1:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()pygame.quit()
效果图:
说明一下:
这里的椭圆是用矩形框起来的.是矩形的内切椭圆.因此,在实际使用的时候,要根据椭圆的中心位置以及椭圆的宽度与高度来计算具体的参数值
读者可以自行将其转化公式写一下,体会一下.
画弧
pygame.draw.arc(Surface,color, rect, start_angle, end_angle, width)
参数说明:
Surface: Surface对象
color: 线条颜色
rect:弧所在的圆(椭圆)的外切矩形
width: 线粗(width=0时看不见)
start_angle:起始角度
end_angle:终止角度
备注:角度的问题
- 角度以中心为起点,向右方向为0度(3点角度为0,逆时针方向为正, 12点为90度,9点为180度, 6点为270度
- 角度是弧度制表示的.pi = 180度, pi/2 = 90度.
- pi这个常数来自math库
- 当角度超过360度时
- 角度取负值时,顺时针方向旋转计算.
- 弧的选取一定是从起点到终点逆时针方向截取.
####示例代码
pygame.init()screen = pygame.display.set_mode((800, 600))screen.fill((255, 255, 255))# 画椭圆rect = (100,100,200,100)pygame.draw.arc(screen, (0,255,255), rect, 1.5, -1, width=1)rect = (300, 100, 100, 100)pygame.draw.arc(screen, (0,0,255), rect, 0, pi/2*3, width=2)pygame.display.update()while 1:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()pygame.quit()
效果图:
作业:
画出如下图形:
Pygame(四)画椭圆,弧相关推荐
- 四心圆法画椭圆原理_四心圆法画椭圆的解析画法
四心圆法画椭圆的解析画法 本文 舟绍 一种 用解析 法 确定 四心 四的 圆心 位置 画椭 圆的方法 .供 容器 设计 者及 制 图者 画椭 圆 时参考 . 关键饲-竺燮 解析法画蚀 怖 溃 四 心圆 ...
- Python+OpenCV 图像处理系列(3)—— 画线、矩形、画圆、画椭圆、画多边形
OpenCV 中的绘图函数 使用 OpenCV 绘制不同几何图形,其中包括的函数有 cv2.line() cv2.circle() cv2.rectangle() cv2.ellipse() cv2. ...
- python turtle画椭圆-Python易学就会(五)turtle绘制椭圆与递归
前两篇文章基本涵盖了turtle的大部分功能,同时也借由对turtle功能的展示,厘清了Python的一些语法特点,以利于新手入门.但是短短几个例子,阐述得还是有限,这里再展开两个知识点,一方面对tu ...
- python画椭圆-python opencv圆、椭圆与任意多边形的绘制实例详解
圆形的绘制 : OpenCV中使用circle(img,center,radius,color,thickness=None,lineType=None,shift=None)函数来绘制圆形 impo ...
- python画椭圆-Python易学就会(五)turtle绘制椭圆与递归
前两篇文章基本涵盖了turtle的大部分功能,同时也借由对turtle功能的展示,厘清了Python的一些语法特点,以利于新手入门.但是短短几个例子,阐述得还是有限,这里再展开两个知识点,一方面对tu ...
- 如何用python画椭圆_怎么用python画椭圆?
使用python画椭圆的方法: 首先使用两行代码引入Matplotlib扩展包:import matplotlib.pyplot as plt from matplotlib.patches impo ...
- opengl 画椭圆_如何画椭圆的共轭半径及其他......
触碰标题下面一行中"邵勇老师"查看所有文章:触碰"数学教学研究", 关注本微信公众号(sx100sy).本公众号内容均由邵勇本人独创,欢迎转发,但未经许可不能转 ...
- python 画椭圆_一篇文章教会你使用SVG ellipse 画椭圆
点击上方" 前端进阶学习交流 ",进行关注 回复"前端"即可获赠前端相关学习资料 今 日 鸡 汤 熊咆龙吟殷岩泉,栗深林兮惊层巅. SVG元素用于绘制椭圆.椭圆 ...
- html5画椭圆的完整代码,HTML5 Canvas中绘制椭圆的4种方法
概述 HTML5中的Canvas并没有直接提供绘制椭圆的方法,下面是对几种绘制方法的总结.各种方法各有优缺,视情况选用.各方法的参数相同: 1.context为Canvas的2D绘图环境对象, 2.x ...
最新文章
- 使用机智云APP控制战舰V3 (转)
- 十、request.getSession( )、reqeust.getSession(false)和 request.getSession(true)
- MYSQL的索引类型:PRIMARY, INDEX,UNIQUE,FULLTEXT,SPAIAL 区别与使用场合
- Win7点击文件夹右键可打开cmd控制台,并获取当前目录
- H5 video的使用
- CCNA学习笔记 基础知识回顾(1)
- mysql建表与oracle_oracle建表与MySQL建表区别
- Linux应用开发【第十四章】CAN编程应用开发
- 我经常和面试者聊的一个题目
- 图像质量评价 开源项目汇总
- TCP拥塞控制——慢开始与拥塞避免AIMD
- tar命令打包并压缩指定的文件夹并且排除指定的文件
- ROS讲座 关于ROS2和Gazebo C++ in Open Source Robotics
- Python爬取百思不得姐段子
- PIM SM RP控制原理与实验
- postMan中文修改
- Freetype学习笔记
- HashMap扩容全过程
- 关于Android ViewPager禁止滑动
- 我在赶集网的两个月 (完整版)
热门文章
- PHP编写投屏功能,win10如何投屏到电视
- git clone出现 fatal: unable to access ‘https://github.com/...‘resolve host: ds-git.gree.com的解决办法
- Android Studio连接驱动装不上应用程序无法正常启动(oxc000007b)
- [OpenGL] 几何着色器
- Php 股票系统,利用PHP命令行模式采集股票趋势信息
- Android 收银机Wifi 连接厨房厨单打印机
- 1+X 云计算平台运维与开发(初级)
- 串口的空闲中断+DMA接收(附F4代码)
- 冬色烂漫 纯情踏雪 论著名画家冯庆冰雪画作品
- vb透明控件窗体不透明函数