IDL创建泰森多边形

结果图:
附加源码:
PRO testVoronoi
idx = 0
; 创建离散点
CASE idx OF
; 随机离散点
0: BEGIN
N = 36
X = RANDOMN(seed, N)
Y = RANDOMN(seed, N)
END
; 规则离散点
1: BEGIN
X = REBIN(INDGEN(6)+10, 36,1)
Y = REFORM(REBIN(INDGEN(6)+10, 6,6),36,1)
N = N_ELEMENTS(X)
END
; 较规则离散点
2: BEGIN
X = REBIN(INDGEN(6)+10, 36,1)+ RANDOMU(seed, 36,1)
Y = REFORM(REBIN(INDGEN(6)+10, 6,6),36,1)+ RANDOMU(seed, 36,1)
N = N_ELEMENTS(X)
END
ELSE:
ENDCASE
; 构建Delaunay三角网
TRIANGULATE, X, Y, tr, CONN=C
; 绘制离散点
Points = PLOT(x, y, $
LINESTYLE=6, $
SYMBOL='o', SYM_COLOR='black', $
SYM_SIZE=0.5, $
/SYM_FILLED, SYM_FILL_COLOR='black', $
AXIS_STYLE=4, $
MARGIN=[0,0,0,0], $
WINDOW_TITLE='泰森多边形')
FOR I=0, N-1 DO BEGIN
; 获取第i个泰森多边形:
VORONOI, X, Y, I, C, Xp, Yp
; 快速可视化绘制
; 创建Polygon函数中的CONNECTIVITY关键字,指定连通性
n=N_ELEMENTS(Xp)
con = [n,INDGEN(n)]
; 绘制泰森多边形
poly = POLYGON(Xp,Yp,/data,CONNECTIVITY=con, /current, $
FILL_BACKGROUND=1, FILL_COLOR=I*7+5, RGB_TABLE=25, $
COLOR='white')
ENDFOR
; 绘制三角网,如果不想绘制,把这几行注释即可
n_Tr = (SIZE(tr, /DIMENSIONS))[1]
FOR i = 0,n_Tr-1 DO BEGIN
tri = POLYGON(X[tr[*,i]], Y[tr[*,i]], CONNECTIVITY=[3,0,1,2], $
/current, color = 'black', /data, FILL_BACKGROUND=0, $
LINESTYLE=4)
ENDFOR
; 将离散点置顶显示
Points.ORDER, /BRING_TO_FRONT
END
IDL创建泰森多边形的更多相关文章
- IDL 创建数组
1.赋值创建 通过方括号[]赋值创建数组,示例代码如下 IDL> arr=[1,2,3] IDL> help,arr ARR INT = Array[3] IDL> arr=[[1, ...
- ArcGIS空间分析工具
1. 3D分析 1.1. 3D Features toolset 工具 工具 描述 3D Features toolset (3D 要素工具集) Add Z Information 添加 Z 信息 添 ...
- JDK/bin目录下的不同exe文件的用途(转)
新安装完JDk 大家是否发现安装目录的bin文件夹有很多exe文件 下面就为大家讲解不同exe文件的用途 javac:Java编译器,将Java源代码换成字节代 java:Java解释器,直接从类文件 ...
- JDK/bin目录下的不同exe文件的用途
新安装完JDk 大家是否发现安装目录的bin文件夹有很多exe文件 下面就为大家讲解不同exe文件的用途 javac:Java编译器,将Java源代码换成字节代 java:Java解释器,直接从类文件 ...
- jdk目录详解及其使用方法
jdk目录详解 jdk目录详解 JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境.它由一个处于操作系统层之上的 ...
- Analysis Tools(分析工具)
分析工具 1.叠加分析 # Process: 交集取反 arcpy.SymDiff_analysis("", "", 输出要素类, "ALL" ...
- ArcMap操作随记(13)
1.为地图册创建定位器地图 创建数据框→标注字段(PageName)→格网索引图层[导出数据]→图层右键,[属性]|[定义查询] 2.为地图册创建动态文本 导出→[文件]|[导出地图]→PDF 3.关 ...
- ArcMap操作随记(8)
1.构建两点之间连线 [构造视线] 2.编辑相邻多边形(边界等) [拓扑]工具条→[共享要素] 3.点要素空间分配 [创建泰森多边形]→[裁剪] 4.面要素空间分配 [要素转折点]→[创建泰森多边形] ...
- ArcMap操作随记(7)
1.栅格分辨率调整 [重采样] 2.点集数据对插值模型精度检验 test数据→[子集要素](地统计分析)→train→[插值]→[多值提取至点]→[字段计算器](Abs([value]-[spline ...
随机推荐
- Ionic国际化解决方案
1. 核心内容 使用Angular2的国际化(i18n)库:ngx-translate 官网地址:http://www.ngx-translate.com/ GitHub地址:https:// ...
- Ionic3 UI组件之 ImageLoader
ImageLoader:通过后台线程加载图片(异步)并缓存.类似于Glide或者Picasso. 组件特性: 后台线程下载图片,下载速度更快,不使用webview的资源: 缓存图像.图像将在您下次显示 ...
- UA 用户代理
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CPU 类型.浏览器及版本.浏览器渲染引擎.浏览器语言.浏览器插件等.被广泛用来标识 ...
- JAVA核心编程教学
常用类 Ø 1.1 String和StringBuffer String类封装了对字符串的常见操作,使用频率非常高,所以应该熟练掌握, String类的方法比较多,无需死记硬背,而是大概了解,用的时候 ...
- 项目托管到Github上
一.注册github账号 首先需要注册一个github账号,注册地址:https://github.com 接着会来到这 然后会收到一封github发的邮件,进入邮箱验证 二.创建个人的githu ...
- Spring Security 安全框架
一 简介:Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spr ...
- day-01mysql数据库下载安装卸载及基本操作
MySQL5.5.40破解版地址(永久有效):链接:https://pan.baidu.com/s/1n-sODjoCdeSGP8bDGxl23Q 密码:qjjy 第2节 数据库的介绍 MySQL:开 ...
- mac 下mongodb connect failed 连接错误
我是用brew install mongod 安装的 MongoDB shell version v3.4.2connecting to: mongodb://127.0.0.1:270172017- ...
- CSS 媒体查询创建响应式网站
使用 CSS 媒体查询创建响应式网站 适用于所有屏幕大小的设计 固定宽度的静态网站很快被灵活的响应式设计所取代,该设计可以根据屏幕大小进行上扩和下扩.利用响应式设计,无论您采用什么设备或屏幕来访问网 ...
- jQuery基础(DOM篇,append(),after(),prepend(),insertAfter(),节点删除,遍历方法each())
1.DOM创建节点及节点属性 创建流程比较简单,大体如下: - 创建节点(常见的:元素.属性和文本) - 添加节点的一些属性 - 加入到文档中 流程中涉及的一点方法: - 创建元素:d ...