-
大小: 4KB文件类型: .py金币: 1下载: 0 次发布日期: 2021-05-22
- 语言: Python
- 标签: matplotlib python
资源简介
python实现扫描线填充算法,使用matplotlib模块将绘制的图形保存并画出来,可以画凹多边形
代码片段和文件信息
import matplotlib.pyplot as plt
# 多边形顶点数
POINTNUM = 5
# 分辨率
LENGTH = 600
fig = plt.figure(“扫面线填充算法“ figsize=(6 6))
ax = fig.add_subplot(1 1 1)
ax.axis([0 LENGTH 0 LENGTH])
# 定义边的结构
class XET:
def __init__(self x=0.0 dx=0.0 ymax=0):
self.x = x
self.dx = dx
self.ymax = ymax
self.next = None
class Point:
def __init__(self x y):
self.x = x
self.y = y
points = [None] * POINTNUM
def polyScan():
MaxY = 0
MinY = LENGTH
for i in range(POINTNUM):
if points[i].y > MaxY:
MaxY = points[i].y
if points[i].y < MinY:
MinY = points[i].y
# 初始化AET表
AET = XET()
# 初始化NET表
NET = [None] * LENGTH
for i in range(MaxY + 1):
NET[i] = XET()
# 扫描并建立NET表
for i in range(MaxY + 1):
for j in range(POINTNUM):
if points[j].y == i:
# 一个点跟前面的一个点形成一条线段,跟后面的点也形成线段
# 如果points[j].y较小就加入
if points[(j - 1 + POINTNUM) % POINTNUM].y > points[j].y:
p = XET()
p.x = points[j].x
p.ymax = points[(j - 1 + POINTNUM) % POINTNUM].y
p.dx = (points[(j - 1 + POINTNUM) % POINTNUM].x - points[j].x) / (
points[(j - 1 + POINTNUM) % POINTNUM].y - points[j].y)
p.next = NET[i].next
NET[i].next = p
if points[(j + 1 + POINTNUM) % POINTNUM].y > points[j].y:
p = XET()
p.x = points[j].x
p.ymax = points[(j + 1 + POINTNUM) % POINTNUM].y
p.dx = (points[(j + 1 + POINTNUM) % POINTNUM].x - points
相关资源
- python数据处理csv->图表
- wxpython使用matplotlib的简单教程
- [计算方法作业]利用python中matplotlib实
- [计算方法作业]利用python中matplotlib实
- 利用python中matplotlib库实现绘制(随机
- python扫描线填充算法详解
- 已知空间坐标和对应的属性,利用p
- 用python_Tkinter显示股票中K线图均线和
- point_move.py
- matplotlib-3.2.1-cp38-cp38m-win32.whl
- matplotlib-3.1.3-cp38-cp38-win_amd64.whl
- matplotlib 函数手册 中文PDF版
- Matplotlib作图指南(高清PDF+内置源码)
- python matplotlib 绘制的3D矩阵图
- python中matplotlib运用(teamwork-4.ipynb)
- 读取16进制文件程序(matplotlib)
- python强化学习(基于matplotlib)
- A*算法迷宫搜索(基于matplotlib.pyplot)
- python实现3D图(基于matplotlib.pyplot与
- 绘制统计学直方图茎叶图(matplotlib)
- svm-simple.py(matplotlib)
- python 画图(matplotlib)时空图
- 使用python中的Matplotlib Tkinter 3D绘图.
- 基于PyQt5和Matplotlib的函数绘制
评论
共有 条评论