Python中常见图形绘制

1、背景介绍

      在点云三维重建中,常涉及到常见几何图形绘制,如直线、多边形、圆形、正方形、长方形等。因此,本次博客结合matplotlib库,介绍常见几何图形的绘制。

2、几何图形绘制

2.1 线段绘制

      线段是一种常见的几何图形,基于matplotlib绘制线段代码如下:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
plt.rcParams['axes.unicode_minus'] = False  # 正确显示负号

# 定义线段的起点和终点坐标
x_start, y_start = 1, 1  # 起点坐标
x_end, y_end = 4, 5       # 终点坐标

# 创建一个新的图和坐标轴
plt.figure()
ax = plt.subplot()

# 使用plot函数绘制线段,需要传入两个点的坐标
ax.plot([x_start, x_end], [y_start, y_end], marker='o')  # marker='o'用于标记起点和终点

# 设置图表的标题和坐标轴标签
plt.title("线段绘制示例")
plt.xlabel("X轴")
plt.ylabel("Y轴")

# 显示图形
plt.show()

2.2 多边形绘制

      多边形也是一种常见几何图形,绘制代码与效果如下:

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
plt.rcParams['axes.unicode_minus'] = False  # 正确显示负号

# 定义多边形的顶点
vertices = np.array([[0.5, 0.5], [1, 0.1], [1, 1], [0.1, 1],[0.1,0.5],[0.5,0.5]])

# 创建一个图形和轴
fig, ax = plt.subplots()

# 绘制多边形的边
ax.plot(vertices[:, 0], vertices[:, 1], color='blue',marker='*')

# 设置坐标轴的范围和比例
ax.set_xlim(0, 1.5)
ax.set_ylim(0, 1.5)
plt.title("多边形绘制示例")
plt.xlabel("X轴")
plt.ylabel("Y轴")

# 显示图形
plt.show()

      若对图像进行填充,则代码与效果如下:

# 填充图形
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
plt.rcParams['axes.unicode_minus'] = False  # 正确显示负号

# 定义多边形的顶点
vertices = np.array([[0.5, 0.5], [1, 0.1], [1, 1], [0.1, 1],[0.1,0.5],[0.5,0.5]])

# 创建一个图形和轴
fig, ax = plt.subplots()

# 绘制多边形的边
# ax.plot(vertices[:, 0], vertices[:, 1], color='blue',marker='*')
#如果要填充,用下面语句
ax.fill(vertices[:, 0], vertices[:, 1], color='blue')
ax.plot(vertices[:, 0], vertices[:, 1], '*--', color='red')

# 设置坐标轴的范围和比例
ax.set_xlim(0, 1.5)
ax.set_ylim(0, 1.5)
plt.title("多边形绘制示例")
plt.xlabel("X轴")
plt.ylabel("Y轴")

# 显示图形
plt.show()

2.3 矩形(正方形)绘制

      矩形与正方形是常用的几何形状,其绘制根据函数

import matplotlib.pyplot as plt
import matplotlib.patches as patches
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
plt.rcParams['axes.unicode_minus'] = False  # 正确显示负号

# 创建一个新的图和坐标轴
fig, ax = plt.subplots()

# 定义矩形的位置和大小
x, y = 0.2, 0.2
width, height = 0.4, 0.4

# 创建矩形
rect = patches.Rectangle((x, y), width, height, linewidth=1, edgecolor='r', facecolor='none')

# 将矩形添加到坐标轴
ax.add_patch(rect)

# 计算矩形的四个顶点坐标
vertices = [(x, y), (x + width, y), (x, y + height), (x + width, y + height)]

# 使用scatter标记矩形的四个顶点,并设置相同的颜色
# 这里我们使用'o'作为标记样式,'red'作为颜色
ax.scatter(*zip(*vertices), c='blue', marker='o')

# 设置坐标轴的范围
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
plt.title("正方形(矩形)绘制")
plt.xlabel("X轴")
plt.ylabel("Y轴")


# 显示图形
plt.show()

2.4 圆形绘制

       圆形几何模型也是一种常见几何形状,代码与效果如下:

import matplotlib.pyplot as plt
import matplotlib.patches as patches
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
plt.rcParams['axes.unicode_minus'] = False  # 正确显示负号

# 创建一个图形和轴
fig, ax = plt.subplots()

# 绘制一个圆形
circle = patches.Circle((0.5, 0.5), 0.2, linewidth=1, edgecolor='r', facecolor='none')
ax.add_patch(circle)

# 设置坐标轴的范围和比例
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax=plt.gca()
ax.set_aspect('equal')
plt.title("圆形绘制绘制")
plt.xlabel("X轴")
plt.ylabel("Y轴")

# 显示图形
plt.show()

3、总结

      介绍了常见几何形状绘制方法,可根据实际需要调整参数,进行图形绘制。

参考网页:Python Matplotlib 常见图形绘制-CJavaPy

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云实验室lab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值