-
大小: 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无限生成点(基于matplotlib.pyplo
- 验证码识别(pytesseract+ matplotlib)
- numpy,pandas,matplotlib速查手册
- python绘制新型冠状病毒疫情地图与疫
- Python 数据可视化 matplotlib-3.1.1-cp37-c
- matplotlib 安装包
- matplotlib-3.2.1-cp37-cp37m-win_amd64.whl
- matplotlib win32 python2.7画图包
- matplotlibwin32
- matplotlib-3.1.2-cp36-cp36m-win_amd64.whl
- matplotlib-2.0.0b2-cp34-cp34m-win32.whl
- matplotlib-1.4.3 windows python2.7 32位及64位
- python-matplotlib英文版翻译
- win7,64位,python3.5.2下的安装包:nu
-
ba
semap-1.2.1-cp38-cp38m-win_amd64.whl - python数据分析之numpy-pandas-matplotlib-常
- matplotlib-3.1.1.tar.gz
- PYTHON数据可视化编程实战matplotlib中文
- win64-python2.7.10+numpy+scipy+matplotlib+pyga
-
ba
semap-1.2.1-cp37-cp37m-win_amd64.whl - python2.7、numpy、matplotlib在windows 64位平
- Matplotlib.pdf
- 利用python绘制热图、计算网络节点d
- Python3.7打包whl库,包括numpy、scikit、
- python(numpy scipy matplotlib sklearn)安装
-
PyQ5 Mtaplotlib Datafr
ame画一条随鼠标移 - 可视化函数绘图计算器
- Python3.x+Pyqt5实现绘图界面MainWindow类型
-
运用python+ba
semap绘出中国地图 - Python_TreeMap_可视化方案数据源实现代
评论
共有 条评论