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 ...
随机推荐
- [转]HTTP请求中的form data和request payload的区别
本文转自:http://www.cnblogs.com/btgyoyo/p/6141480.html jQuery的ajax方法和post方法分别发送请求,在后台Servlet进行处理时结果是不一样的 ...
- activemq控制面板含义
Name 消息队列的名称 Number Of Pending Messages 等待消费的消息数量,即未出队列的消息数量.可以理解为总接收数-总出队列数 (未持久化的话,重启acmq后会清零) Num ...
- C#共享内存整理
1.System.IO.MemoryMappedFiles 内存映射文件类 内存映射文件将文件的内容映射到应用程序的逻辑地址空间. 内存映射文件使程序员得以处理极大的文件(这是因为可以并发管理内存), ...
- Oracle官网下载参考文档
最近有人问我有没有Oracle11g数据库官方参考文档,我就想,这不是在官网可以下载到的吗,疑惑,问了之后才知道,他官网找过,但时没有找到.不要笑,其实有很多人一样是找不到的,下面就一步一步操作下: ...
- 关于Java中语句符号及格式的理解
关于Java中语句符号及格式的理解 这篇文章是撰写的第一篇文章,在此作一下博主是一名在读的工科研究生,种种原因,研二开始决定转行从事程序员工作.开始的自学之路并不算非常顺畅,也走了一点弯路,但一直都坚 ...
- [转]linux文件批量转码
linux系统里提供的文件转化编码的命令iconv,例如: iconv -t utf- -f gb2312 -c test.xml > text_UTF8.xml -f 源编码-t 目标编码 ...
- SpringCloud Eureka(注册中心集群)
多个注册中心,其实用不同的配置对应 不同的端口号注册就行了. 注册中心自己也是个服务,看看之前的单个注册中心是怎么样的呢? server: port: 8888 # 服务端口eureka: insta ...
- java工具类-交易码
/** * 功能描述:交易码 * */ public class TransCode { //登录 public static final String LOGIN="A001"; ...
- 基于 vue+element ui 的cdn网站(多页面,都是各种demo)
前言:这个网站持续更新中...,有网上预览,github上也有源码,喜欢记得star哦,欢迎留言讨论. 网站地址:我的个人vue+element ui demo网站 github地址:yuleGH g ...
- Invoke 和 BeginInvoke 的区别
在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate 一.为什么Control类提供了Invoke和BeginInvoke机制? 关于这个问题的最主要的原因已经是dot ...