【基础】绘制简单图形和形状
发布时间: 2024-06-26 08:43:16 阅读量: 7 订阅数: 28 ![](https://csdnimg.cn/release/wenkucmsfe/public/img/col_vip.0fdee7e1.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/col_vip.0fdee7e1.png)
![【基础】绘制简单图形和形状](https://img-blog.csdnimg.cn/7992c3cef4dd4f2587f908d8961492ea.png)
# 2.1 点和线段绘制
### 2.1.1 点的绘制
点是图形绘制的基本元素,表示二维空间中的一个位置。在 Python 中,可以使用 `plt.scatter()` 函数绘制点。该函数接受两个参数:x 坐标和 y 坐标,并返回一个 `matplotlib.collections.PathCollection` 对象。
```python
import matplotlib.pyplot as plt
# 绘制点
plt.scatter(1, 2)
plt.show()
```
### 2.1.2 线段的绘制
线段是连接两个点的直线。在 Python 中,可以使用 `plt.plot()` 函数绘制线段。该函数接受两个参数:x 坐标和 y 坐标,并返回一个 `matplotlib.lines.Line2D` 对象。
```python
# 绘制线段
plt.plot([1, 2], [3, 4])
plt.show()
```
# 2. 绘制简单图形
### 2.1 点和线段绘制
#### 2.1.1 点的绘制
```python
import pygame
# 初始化Pygame
pygame.init()
# 设置窗口大小
screen = pygame.display.set_mode((640, 480))
# 设置背景颜色
screen.fill((255, 255, 255))
# 设置点的颜色
color = (0, 0, 0)
# 设置点的坐标
x = 100
y = 100
# 绘制点
pygame.draw.circle(screen, color, (x, y), 5)
# 更新显示
pygame.display.update()
# 等待用户退出
while pygame.event.wait().type != pygame.QUIT:
pass
# 退出Pygame
pygame.quit()
```
**代码逻辑逐行解读:**
1. 初始化Pygame库。
2. 设置窗口大小为640x480像素。
3. 设置背景颜色为白色。
4. 设置点的颜色为黑色。
5. 设置点的坐标为(100, 100)。
6. 使用`pygame.draw.circle()`函数绘制一个半径为5像素的圆形,代表点。
7. 更新显示,将绘制的图形显示在窗口中。
8. 进入事件循环,等待用户退出事件。
9. 退出Pygame库。
#### 2.1.2 线段的绘制
```python
import pygame
# 初始化Pygame
pygame.init()
# 设置窗口大小
screen = pygame.display.set_mode((640, 480))
# 设置背景颜色
screen.fill((255, 255, 255))
# 设置线的颜色
color = (0, 0, 0)
# 设置线的起点和终点坐标
start_x = 100
start_y = 100
end_x = 200
end_y = 200
# 绘制线段
pygame.draw.line(screen, color, (start_x, start_y), (end_x, end_y), 5)
# 更新显示
pygame.display.update()
# 等待用户退出
while pygame.event.wait().type != pygame.QUIT:
pass
# 退出Pygame
pygame.quit()
```
**代码逻辑逐行解读:**
1. 初始化Pygame库。
2. 设置窗口大小为640x480像素。
3. 设置背景颜色为白色。
4. 设置线的颜色为黑色。
5. 设置线的起点坐标为(100, 100),终点坐标为(200, 200)。
6. 使用`pygame.draw.line()`函数绘制一条从起点到终点的线段,线宽为5像素。
7. 更新显示,将绘制的图形显示在窗口中。
8. 进入事件循环,等待用户退出事件。
9. 退出Pygame库。
### 2.2 圆形和椭圆绘制
#### 2.2.1 圆形的绘制
```python
import pygame
# 初始化Pygame
pygame.init()
# 设置窗口大小
screen = pygame.display.set_mode((640, 480))
# 设置背景颜色
screen.fill((255, 255, 255))
# 设置圆形的颜色
color = (0, 0, 0)
# 设置圆形的中心坐标和半径
center_x = 200
center_y = 200
radius = 100
# 绘制圆形
pygame.draw.circle(screen, color, (center_x, center_y), radius)
# 更新显示
pygame.display.update()
# 等待用户退出
while pygame.event.wait().type != pygame.QUIT:
pass
# 退出Pygame
pygame.quit()
```
**代码逻辑逐行解读:**
1. 初始化Pygame库。
2. 设置窗口大小为640x480像素。
3. 设置背景颜色为白色。
4. 设置圆形的颜色为黑色。
5. 设置圆形的中心坐标为(200, 200),半径为100像素。
6. 使用`pygame.draw.circle()`函数绘制一个圆形,中心坐标和半径由参数指定。
7. 更新显示,将绘制的图形显示在窗口中。
8. 进入事件循环,等待用户退出事件。
9. 退出Pygame库。
#### 2.2.2 椭圆的绘制
```python
import pygame
# 初始化Pygame
pygame.init()
# 设置窗口大小
screen = pygame.display.set_mode((640, 480))
# 设置背景颜色
screen.fill((255, 255, 255))
# 设置椭圆的颜色
color = (0, 0, 0)
# 设置椭圆的中心坐标和长轴、短轴长度
center_x = 200
center_y = 200
width = 200
height = 100
# 绘制椭圆
pygame.draw.ellipse(screen, color, (center_x - width / 2, center_y - height / 2, width, height))
# 更新显示
pygame.display.update()
# 等待用户退出
while pygame.event.wait().type != pygame.QUIT:
pass
# 退出Pygame
pygame.quit()
```
**代码逻辑逐行解读:**
1. 初始化Pygame库。
2. 设置窗口大小为640x480像素。
3. 设置背景颜色为白色。
4. 设置椭圆的颜色为黑色。
5. 设置椭圆的中心坐标为(200, 200),长轴长度为200像素,短轴长度为100像素。
6. 使用`pygame.draw.ellipse()`函数绘制一个椭圆,参数指定了椭圆的中心坐标、长轴和短轴长度。
7. 更新显示,将绘制的图形显示在窗口中。
8. 进入事件循环,等待用户退出事件。
9. 退出Pygame库。
### 2.3 多边形绘制
#### 2.3.1 三角形的绘制
```python
import pygame
# 初始化Pygame
pygame.init()
# 设置窗口大小
screen = pygame.display.set_mode((640, 480))
# 设置背景颜色
screen.fill((255, 255, 255))
# 设置三角形的颜色
color = (0, 0, 0)
# 设置三角形的顶点坐标
vertices = [(100, 100), (200, 200), (100, 200)]
# 绘制三角形
pygame.draw.polygon(screen, color, vertices)
# 更新显示
pygame.display.update()
# 等待用户退出
while pygame.event.wait().type != pygame.QUIT:
pass
# 退出Pygame
pygame.quit()
```
**代码逻辑逐行解读:**
1. 初始化Pygame库。
2. 设置窗口大小为640x480像素。
3. 设置背景颜色为白色。
4. 设置三角形的颜色为黑色。
5. 设置三角形的顶点坐标为(100, 100)、(200, 200)和(100, 200)。
6. 使用`pygame.draw.polygon()`函数绘制一个三角形,参数指定了三角形的顶点坐标。
7. 更新显示,将绘制的图形显示在窗口中。
8. 进入事件循环,等待用户退出事件。
9. 退出Pygame库。
#### 2.3.2 矩形的绘制
0
0
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)