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 ...
随机推荐
- <MYSQL Index>
About Mysql 1. Mysql工作流程分析 2. Mysql单实例安装(5.6.31) DATABASE 1. 事务的4种隔离级别 ——————————————————Mysql管理———— ...
- CentOS install搭建SVN服务器
安装步骤如下: 1.命令:yum install subversion 之后会打印很多消息,显示 Complete! 则完成. 2.查看 svn 版本:svnserve --version 3.创建S ...
- RabbitMQ上手记录–part 4-节点集群(单机多节点)
现在互联网应用动不动就说要HA,好像不搞个HA都不好意思说自己的应用能承载高并发,大用户量访问.RabbitMQ这个经典的消息组件,也必然逃不掉单点失效的尴尬局面.当然在RabbitMQ在被广泛应用于 ...
- bootstrap栅格系统的属性及使用
栅格系统 媒体查询 在栅格系统中,我们在 Less 文件中使用以下媒体查询(media query)来创建关键的分界点阈值. 小屏幕(平板,大于等于 768px) @media (min-width: ...
- httpServletRequest中的流只能读取一次的原因
首先,我们复习一下InputStream read方法的基础知识, java InputStream read方法内部有一个,postion,标志当前流读取到的位置,每读取一次,位置就会移动一次,如果 ...
- Intellij IDEA run coverage之覆盖率测试
Intellij IDEA run coverage之覆盖率测试 idea 的coverage + 我们自己写的测试用例.最后看一下,我们要测的代码有没有测试到,这是一个不错的提高代码质量的方法. i ...
- [js高手之路]Node.js模板引擎教程-jade速学与实战1-基本用法
环境准备: 全局安装jade: npm install jade -g 初始化项目package.json: npm init --yes 安装完成之后,可以使用 jade --help 查看jade ...
- Vue2.x之父子组件数据传递
父传子,并且通过fatherEvent接收子组件传过来的值 <template> <div class='father'> <Son :fatherData=" ...
- ES6新语法之let关键字;有别于传统关键字var的使用
ES6新语法于2015年发布:而我这个前端小白在17年才接触到.惭愧惭愧!!不过到目前为止,似乎只有FireFox和Chrome对ES6的支持相对良好.不过既然人家ES6已经出来了,还是要跟上技术的潮 ...
- Spring Boot—18Redis
pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-ja ...