空间泊松点过程仿真与泰森多边形可视化系统
项目介绍
本项目是一个基于MATLAB开发的综合仿真工具,旨在模拟二维空间泊松点过程(Poisson Point Process, PPP)并构建泰森多边形(Voronoi Diagram)分析模型。系统集成了统计建模、计算几何、边界处理与空间可视化功能,能够精确模拟随机种子点在指定区域内的空间分布规律,并通过属性渲染直观展示拓扑结构极其几何统计特性。
功能特性
- 双重随机过程支持:系统能够模拟经典的齐次泊松过程,以及点强度随空间位置动态变化的非齐次泊松过程。
- 稳健的边界闭合处理:采用镜像拓扑算法,通过对原始点集进行八方向镜像扩充,有效解决了传统泰森多边形在研究区域边界处无法自动闭合的问题。
- 多维几何属性提取:自动计算并统计每个多边形的面积、周长及顶点数量,支持导出数值分析结果。
- 增强型颜色渲染:支持基于几何属性的伪彩色映射,根据多边形的物理特性进行差异化着色,提升空间分布规律的可观察性。
- 自动化统计报告:在生成图形界面的同时,在终端输出关键统计参数,包括种子点总数、平均面积及顶点分布状况。
使用方法
- 配置环境:在MATLAB环境下打开主仿真程序。
- 参数自定义:
- 修改区域尺寸参数(宽度与高度)。
- 选择强度模式(homogeneous 或 inhomogeneous)。
- 设置基础强度参数 Lambda。
- 选择渲染基准属性(area, perimeter 或 vertices)。
- 运行程序:执行脚本后,系统将自动生成仿真图像并实时在命令行窗口输出统计数据。
- 交互查看:生成的图形支持缩放与平移,坐标轴已锁定比例以确保几何形状不失真。
系统要求
- 运行环境:MATLAB R2016b 或更高版本。
- 必备工具箱:计算几何相关功能依赖于MATLAB内置的数学函数库(如 voronoin, polyarea 等)。
- 硬件要求:标准个人计算机,内存建议4GB以上以处理高密度点云。
实现逻辑说明
仿真系统按照以下六个核心步骤有序执行:
- 环境初始化与参数定义:
程序首先清除工作区缓存,定义仿真区域的几何边界(默认100x100单元),并指定泊松过程的强度属性。
- 随机点云生成逻辑:
- 齐次模式:根据面积与强度的乘积确定总点数(服从泊松分布),随后在区域内随机均匀投放坐标。
- 非齐次模式:采用拒绝采样法(Rejection Sampling)。定义指数增量函数作为强度分布函数,先按最高强度生成候选点,再根据位置相关的接受概率进行筛选,从而实现点密度在该空间内呈现指数级变化。
- 边界处理与几何构建:
为解决Voronoi算法生成的边缘单元发散问题,程序将原始点集在X轴、Y轴以及四个对角线方向执行8次镜像复制。将扩充后的点集输入voronoin算法进行计算,确保研究区域内的所有原始多边形都被周边的镜像点“挤压”形成闭合结构。
- 统计数据提取:
利用循环遍历每一个原始种子点对应的泰森池(Cell)。通过连接顶点坐标,使用多边形面积算法计算其覆盖范围;通过计算相邻顶点间的欧几里得距离累加得到周长;并记录其顶点的拓扑数量。
- 伪彩色可视化渲染:
将提取的几何属性进行归一化处理,映射至Parula色标体系。利用二维补片(Patch)绘制多边形面,并叠加黑色的种子点散点图。系统会自动调整透明度和边缘线性,以增强视觉对比度。
- 结果汇总输出:
系统自动计算仿真结果的均值与最大值,并在终端列出仿真规模、平均面积、平均顶点数等关键指标,完成从模拟到评价的闭环。
关键函数与算法分析
- 拒绝采样算法(Inhomogeneous Process):这是实现非齐次性的核心。通过引入最大强度包络线,利用随机概率筛选候选点,成功地在没有直接反函数生成法的情况下模拟了复杂的空间强度函数。
- 镜像扩充法(Mirroring Technique):这是几何计算中的高级技巧。通过镜像点的介入,强制使位于边界处的Voronoi顶点由“无穷远点”转变为具体的坐标点,保证了面积和周长计算的准确性。
- 多边形拓扑分析:程序通过索引映射机制,从voronoin返回的复杂单元数组中精准提取每个点对应的几何信息,实现了空间拓扑关系与数值属性的关联。
- 颜色映射机制:通过将离散的几何属性映射到连续的颜色空间,利用插值和归一化技术,使数据分布具有直观的热力图效果。